我有以下查询:
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
这成功地返回了我的 CD 表“销售额”中销售额增加/减少的百分比。但是,我希望更改代码以列出 2011 年 7 月和 2012 年 7 月的具体日期,而不是今年 7 月,而不是去年 7 月。我知道现在运行这个新查询将获得相同的结果,但是我希望如果您在 100 年后执行此查询,该查询将测试 2111 年 7 月和 2112 年 7 月。
我自己尝试过这样做,但是当我运行代码时,我的答案是 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
其次,如果有一个新艺术家有一张新CD,它会除以0,并且不会包含在结果中,但是例如2011年7月为0,2012年7月为398,显然应该包含这个在我的结果中。