mysql - 纪元时间和MySQL查询

标签 mysql epoch

我有一个这样的表:

id   | date
---- | -----------
1    | 1319043263
2    | 1319043578

哪个日期字段格式在纪元。我必须将属于同一天的每一行分组,并将它们显示在一个单独的组中。我如何在 MySQL 中执行此操作?

谢谢。

最佳答案

分组依据:

SELECT COUNT(`id`) AS `Records`, DATE(FROM_UNIXTIME(`date`)) AS `Date` 
FROM `table`
GROUP BY DATE(FROM_UNIXTIME(`date`))

输出:

    Records | Date
--------------------------------
      10    | 2011-10-19
      10    | 2011-10-18

订购方式:

SELECT `id`, FROM_UNIXTIME(`date`) AS `Date`
FROM `table`
ORDER BY DATE(FROM_UNIXTIME(`date`)) [ASC|DESC]

(尽管实际上您将仅使用 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

这会将 unix 时间戳转换为 mysql 日期时间,然后从应用于分组或顺序子句的日期值中提取日期值

如果你想按天分组而不考虑月份和年份,请使用 DAY() 而不是 DATE()

但是,您能否扩展关于“按天对每一行进行分组”的部分。你想显示什么结果?当你对某件事进行分组时,你会在组内的一个字段上使用某种聚合处理器,如 COUNT() 或 SUM() 。

MySQL Group Functions Reference

MySQL Date & Time Function Reference

关于mysql - 纪元时间和MySQL查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7825739/

相关文章:

javascript - 将名称发布到 php MYSQL 数据库

PHP 代码检查变量是否包含在 MySQL 列中?

SQL:在一条语句中插入多组值?

sql 语句,现在 - unix/epoch 时间 6 个月

mysql - 按整数排序不适用于我的连接查询

mysql - 使用 Perl 查找复合主键的一部分

mysql - "Where"语句 : contains a certain substring

java - 获取自 UTC 日期的 EPOCH 以来返回错误结果的毫秒数?

python - 从 2000 年 1 月 1 日开始从 UNIX 时间转换为时间戳

java - 为什么 Epoch 使用 java.util.date 没有失败?