0

可能重复:
使用 unix 时间戳记一个月内的 SQL 计数记录

我有一张这样的桌子

+--------+------------+         
| 编号 | 日期时间 |  
+--------+------------+   
| 1 | 1313405609 |  
| 1 | 1313144410 |  
| 2 | 1313405550 |  
| 1 | 1313405549 |  
+--------+------------+

datetime 是 php unix 时间,我想按日期(例如 20120517)对行进行分组并计算每个组项。因为1313405609、1313405550和1313405549的日期是20110815,所以我想要的结果是:

+--------+------------+------------+  
| 编号 | 日期时间 | 计数 |  
+--------+------------+------------+  
| 1 | 1313405609 | 2 |  
| 1 | 1313144410 | 1 |   
| 2 | 1313405550 | 1 |  
+--------+------------+------------+

我怎么能用 sql 来做呢?

4

1 回答 1

1

用于FROM_UNIXTIME将 unix 时间戳转换为日期时间。然后用于DATE仅获取日期部分:

select
  id,
  min(datetime) as datetime,
  count(*) as Count
from
  YourTable t
group by
  id,
  date(from_unixtime(datetime))
于 2012-05-17T15:57:49.927 回答