Mysql多行计数?

时间:2011-01-04 00:42:59

标签: php mysql sql

我有一个像

这样的行的数据库
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()命令,有没有办法在一个命令中执行此操作?

注意,我想将其显示为

  • 行动2 = 2
  • 行动3 = 2
  • 行动4 = 2
  • (等等)。

我还需要具体说明一个日期(例如,它只计算2010-02-03和2010-03-01之间日期的所有2,3,4等)

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