Mysql 按日期计数仅 DATETIME 的一部分

max*_*xum 3 mysql

我有一张如下表

 +-----+--------------+---------------------+
 | 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 |  
 +-----+--------------+---------------------+
Run Code Online (Sandbox Code Playgroud)

我只想对我的约会结果进行分组。所以结果是,例如我只想要 60 的 url。

  +-------------+------------------+
  |visit_date   |count(visit_date) |
  +-------------+------------------+
  |  2012-06-23 |        2         | 
  +-------------+------------------+
  |  2012-06-25 |        2         |
  +-------------+------------------+
Run Code Online (Sandbox Code Playgroud)

我已经尝试过以下操作,但显然由于时差我得到了每个日期。

  SELECT visit_time, COUNT( visit_time ) 
  FROM tracking
  WHERE query_string LIKE  '%60%'
  GROUP BY visit_time
Run Code Online (Sandbox Code Playgroud)

是否可以只通过日期来忽略时间来做到这一点?

Joh*_*Woo 5

是的你可以。只需使用DATE()函数即可。

SELECT DATE(visit_time), COUNT( visit_time ) 
FROM tracking
WHERE query_string LIKE  CONCAT('%', '60' ,'%')  -- makes readable
GROUP BY DATE(visit_time)
Run Code Online (Sandbox Code Playgroud)