У меня есть следующий запрос:
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, очевидно, это должно быть включено в моем результате.