如何显示MySQL的唯一日期和count()记录?

时间:2012-04-11 12:03:59

标签: mysql count

我的表格有以下结构和记录。

表格t1

+------+-------------+---------------------+
| name |  f_inserted | timestamp           |
+------+-------------+---------------------+
| AAA  |   1         | 2012-04-10 06:44:19 |
| BBB  |   0         | 2012-04-10 08:44:19 |
| AAA  |   1         | 2012-04-10 09:44:19 |
| CCC  |   1         | 2012-04-11 09:48:19 |
+------+-------------+---------------------+

我想在f_inserted = 1

的位置显示唯一的日期和计数f_inserted

在下面的表格中,我希望结果为 -

结果

+-------------+------+
| date        |  cnt |
+-------------+------+
| 2012-04-10  |   2  | 
| 2012-04-11  |   1  |
+------+------+------+

提前致谢!

2 个答案:

答案 0 :(得分:4)

这是一个基本的MySQL GROUP BY查询。唯一棘手的部分是你的时间戳有DATETIME,你只需要一个日期。使用DATE() function进行转换。

SELECT date(`timestamp`) as `date`, COUNT(*) from t1
WHERE f_inserted = 1
GROUP BY date(`timestamp`)

答案 1 :(得分:1)

这将给出你想要的结果 -

SELECT date(`timestamp`) as `date`,
COUNT(*) as cnt 
from table_name
WHERE f_inserted = 1
GROUP BY date(`timestamp`) 
order by cnt desc