Nano Hash - криптовалюты, майнинг, программирование

Переход от статической даты к изменяющейся дате в запросе и проблеме с агрегатной функцией - MYSQL

У меня есть следующий запрос:

SELECT Artist_no, SUM(purchasedate BETWEEN '2012-07-01' AND '2012-07-31') / 
                  SUM(purchasedate BETWEEN '2011-07-01' AND '2011-07-31')
FROM Sales

Это успешно возвращает мне процент увеличения/уменьшения продаж в моей таблице «Продажи» компакт-дисков. Однако я хочу изменить код, чтобы вместо этого указать конкретные даты июля 2011 года по сравнению с июлем 2012 года, а вместо этого сделать июль этого года по сравнению с июлем прошлого года. Я понимаю, что запуск этого нового запроса сейчас даст тот же результат, однако я бы хотел, чтобы вы выполнили этот запрос через 100 лет, запрос проверялся бы на июль 2111 года по сравнению с июлем 2112 года.

Я пытался сделать это сам, однако, когда я запускаю код, мой ответ равен NULL. Этого не должно быть, здесь есть следующий новый код (хотя он и неверен):

SELECT SUM(purchasedate = YEAR(CURDATE() AND MONTH(purchasedate) = 7))
     / SUM(purchasedate = YEAR(DATE_SUB(CURDATE(), INTERVAL 1 YEAR) AND MONTH(purchasedate) = 7)) 
FROM Sales

Во-вторых, в случае, если есть новый исполнитель с новым компакт-диском, он будет делиться на 0 и не будет включать его в результат, однако, например, июль 2011 г. равен 0, а июль 2012 г. 398, очевидно, это должно быть включено в моем результате.


Ответы:


1

Попробуйте сравнить отформатированную строку даты, как показано ниже:

   SELECT SUM(date_format(purchasedate, '%m-%Y') = CONCAT('07-',YEAR(CURDATE()))
         / SUM(date_format(purchasedate, '%m-%Y') = 
                         CONCAT('07-',YEAR(DATE_SUB(CURDATE(), INTERVAL 1 YEAR)) 
   FROM Sales
03.12.2012
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..