我有一个如下表
+-----+--------------+---------------------+
| id | url | visit_date |
+-----+--------------+---------------------+
| 1 + 60 | 2012-06-23 18:15:49 |
+-----+--------------+---------------------+
| 2 + 60&ref=qr | 2012-06-23 12:15:49 |
+-----+--------------+---------------------+
| 3 + 54 | 2012-06-23 18:15:49 |
+-----+--------------+---------------------+
| 4 + 5 | 2012-06-24 18:15:49 |
+-----+--------------+---------------------+
| 5 + 60 | 2012-06-25 13:15:49 |
+-----+--------------+---------------------+
| 6 + 60 | 2012-06-25 19:15:49 |
+-----+--------------+---------------------+
我只想对我的日期的结果进行分组。所以结果是,例如我只想要 60 的 url。
+-------------+------------------+
|visit_date |count(visit_date) |
+-------------+------------------+
| 2012-06-23 | 2 |
+-------------+------------------+
| 2012-06-25 | 2 |
+-------------+------------------+
我已尝试以下操作,但显然由于时差,我得到了每个日期。
SELECT visit_time, COUNT( visit_time )
FROM tracking
WHERE query_string LIKE '%60%'
GROUP BY visit_time
是否可以只通过日期来忽略时间来做到这一点?
最佳答案
是的,可以。只需使用 DATE()
函数即可。
SELECT DATE(visit_time), COUNT( visit_time )
FROM tracking
WHERE query_string LIKE CONCAT('%', '60' ,'%') -- makes readable
GROUP BY DATE(visit_time)
关于Mysql 按日期计数仅 DATETIME 的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11963622/