1

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

表 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 where f_inserted = 1

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

结果

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

提前致谢 !

4

2 回答 2

4

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

SELECT date(`timestamp`) as `date`, COUNT(*) from t1
WHERE f_inserted = 1
GROUP BY date(`timestamp`)
于 2012-04-11T12:07:13.837 回答
1

这将给出您想要的结果 -

SELECT date(`timestamp`) as `date`,
COUNT(*) as cnt 
from table_name
WHERE f_inserted = 1
GROUP BY date(`timestamp`) 
order by cnt desc
于 2012-04-11T12:11:32.110 回答