我有这样一张桌子:
id | date
---- | -----------
1 | 1319043263
2 | 1319043578
Run Code Online (Sandbox Code Playgroud)
哪个日期字段格式在epoch中.我必须对属于同一天的每一行进行分组,并将它们显示在一个单独的组中.我怎么能在MySQL中这样做?
谢谢.
Jos*_*and 14
通过...分组:
SELECT COUNT(`id`) AS `Records`, DATE(FROM_UNIXTIME(`date`)) AS `Date`
FROM `table`
GROUP BY DATE(FROM_UNIXTIME(`date`))
Run Code Online (Sandbox Code Playgroud)
输出:
Records | Date
--------------------------------
10 | 2011-10-19
10 | 2011-10-18
Run Code Online (Sandbox Code Playgroud)
订购方式:
SELECT `id`, FROM_UNIXTIME(`date`) AS `Date`
FROM `table`
ORDER BY DATE(FROM_UNIXTIME(`date`)) [ASC|DESC]
Run Code Online (Sandbox Code Playgroud)
(虽然实际上你只使用FROM_UNIXTIME()或原始date值得到相同的顺序,因为它们在排序尝试中都会正确堆叠)
输出:
id | Date
--------------------------------
03 | 2011-10-19 12:00:00
02 | 2011-10-18 12:00:00
01 | 2011-10-17 12:00:00
Run Code Online (Sandbox Code Playgroud)
这会将unix时间戳转换为mysql日期时间,然后从应用于分组或订单子句的日期值中提取日期值
如果你想按天分组而不管月份和年份使用DAY()而不是DATE()
但是你可以扩展关于"按行分组"的部分.你想要展示什么结果?当你对某些东西进行分组时,你会在组中的某个字段上使用某种聚合处理器,如COUNT()或SUM().
| 归档时间: |
|
| 查看次数: |
19008 次 |
| 最近记录: |