我有一个像
这样的行的数据库id,action,date
2,2,2010-03-01
3,2,2010-03-01
4,3,2010-03-01
5,3,2010-03-01
6,4,2010-02-01
7,4,2010-02-01
我想要选择所有2的所有计数以及所有3和4的所有计数。但是我不想要做3个不同的SELECT COUNT()命令,有没有办法在一个命令中执行此操作?
注意,我想将其显示为
我还需要具体说明一个日期(例如,它只计算2010-02-03和2010-03-01之间日期的所有2,3,4等)
答案 0 :(得分:4)
SELECT action
, Count(*)
FROM Table
WHERE date BETWEEN startDate AND EndDate
GROUP BY Action
答案 1 :(得分:0)
SELECT COUNT(*) FROM table GROUP BY action
答案 2 :(得分:0)
您可以GROUP BY action
查询。您也可以将其与WHERE id IN (2,3,4)
结合使用,只获取这些ID的行。
答案 3 :(得分:0)
SELECT COUNT(*)as count FROM tableA GROUP BY columnA WHERE DATE BETWEEN dateFrom AND dateTO