我有一个问题可以用一个简单的虚拟表来解释。
“饮料”表只有三个字段:
Id(1..N)-主键
日期('2012-09-19'…)-每个日期都可能经常发生
热(1表示是,0表示假)。
我想列一张这样的单子:
Date Total Hot Cold
2012-09-19 14 6 8
2012-09-10 21 18 3
等。
字段“Cold”是按(Total-Hot)计算的。
到目前为止我得到的是:
SELECT Date, count(*) AS Total FROM Drinks GROUP BY Date;
这给了我想要的表,当然没有列“Hot”和“Cold”。
有没有办法修改我的查询以便我可以一次性生成这个表?当然,我可以使用PHP代码分阶段构建表,但这可能不是一种优雅的方式,也不是最快的方式。
我很高兴看到和学习。。。:)
最佳答案
SELECT Date,
count(*) AS Total,
SUM(Hot = 1) Hot,
SUM(Hot = 0) Cold
FROM Drinks
GROUP BY Date;