Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
mysql:如何按日期分组?_Mysql - Fatal编程技术网

mysql:如何按日期分组?

mysql:如何按日期分组?,mysql,Mysql,可能重复: 我有一张这样的桌子 +--------+------------+ | id | datetime | +--------+------------+ | 1 | 1313405609 | | 1 | 1313144410 | | 2 | 1313405550 | | 1 | 1313405549 | +--------+------------+ +--------+---------

可能重复:

我有一张这样的桌子

+--------+------------+ | id | datetime | +--------+------------+ | 1 | 1313405609 | | 1 | 1313144410 | | 2 | 1313405550 | | 1 | 1313405549 | +--------+------------+ +--------+------------+ |id |日期时间| +--------+------------+ | 1 | 1313405609 | | 1 | 1313144410 | | 2 | 1313405550 | | 1 | 1313405549 | +--------+------------+ datetime是php unix时间,我想按日期对行进行分组(例如20120517),并计算每个组的项目数。因为13134056091313405550和1313405549的日期是20110815,所以我想要的结果是:

+--------+------------+------------+ | id | datetime | Count | +--------+------------+------------+ | 1 | 1313405609 | 2 | | 1 | 1313144410 | 1 | | 2 | 1313405550 | 1 | +--------+------------+------------+ +--------+------------+------------+ |id |日期时间|计数| +--------+------------+------------+ | 1 | 1313405609 | 2 | | 1 | 1313144410 | 1 | | 2 | 1313405550 | 1 | +--------+------------+------------+
如何使用sql进行转换?

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

select
  id,
  min(datetime) as datetime,
  count(*) as Count
from
  YourTable t
group by
  id,
  date(from_unixtime(datetime))

这可能对你有用谢谢,这是我想要的答案,我需要按id分组,谢谢你的回答。