我有一个查询计算本周的销售数量。它看起来像这样:
SELECT DAYNAME(SOLD), COUNT(*) FROM SALES_DATA
WHERE SOLD BETWEEN '2012/10/14 00:00:00' AND '2012/10/21 00:00:00' AND STORE_ID = 1010 GROUP BY DAYNAME(SOLD) ORDER BY DAY(SOLD);
输出如下:
DAYNAME(SOLD) COUNT(*)
Sunday 400
Monday 375
Etc. Etc.
我希望从前一周获得第三列销售额用于比较。但要做到这一点,我需要一个具有不同日期范围的单独的where子句。所以我的问题是如何实现这一目标?我是mysql的新手,并没有找到这样的东西。加入会有效吗?我不太确定那些是如何运作的。我想要的输出是这样的:
DAYNAME(SOLD) COUNT(*) COUNT(*)
Sunday 400 550
Monday 375 250
Etc. Etc. Etc.
提前致谢!!
答案 0 :(得分:1)
你可以使用这样的结构:
select stuff1.common_col, stuff1.col1, stuff2.col2
from
(select common_col, col1 from somewhere where ... ) as stuff1
(select common_col, col1 from somewhere where ... ) as stuff2
where stuff1.common_col = stuff2.common_col