是否可以为每个选择使用不同的where子句进行mysql查询?

时间:2012-10-24 21:21:05

标签: mysql select where

我有一个查询计算本周的销售数量。它看起来像这样:

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.

提前致谢!!

1 个答案:

答案 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