gpt4 book ai didi

php - Mysql 查询查找给定日期范围内某个值出现的次数

转载 作者:行者123 更新时间:2023-11-29 07:47:54 24 4
gpt4 key购买 nike

我有一个包含 7,000,000 行和两列的表:名称和时间戳。其中的数据看起来像这样:

NAME  - TIMESTAMP
Arnie - 2012-05-15 09:31:21
Arnie - 2012-05-15 10:31:21
Jethro - 2012-05-15 12:31:21
Regina - 2012-05-15 12:31:21
Beatriz - 2012-05-16 0:31:21
Jethro - 2012-05-15 08:31:21
Jethro - 2012-06-15 08:31:21
Jethro - 2012-06-16 08:31:21
Archie - 2012-06-16 09:31:21
Jethro - 2012-06-17 08:31:21

自 2012 年 1 月以来的每个月,我都想知道该月每个名字出现的次数,因此对于上面的示例,我想要:

June 2012

Arnie - 2
Jethro - 2
Regina - 1
Beatriz - 1

July 2012

Jethro - 3
Archie - 1

执行此操作的最佳方法是什么?另外,有没有一种方法可以将其作为一个查询来运行,按月对时间戳进行分组,或者我应该在 PHP 中创建一个循环并为每个月运行一个单独的查询?

我知道这并不是 super 困难,并且文档中肯定有介绍,但我对要搜索的术语感到困惑。

最佳答案

试试这个:

select date_format(timestamp, '%Y %M') as yyyymm, name, count(*)
from table t
group by date_format(timestamp, '%Y %M'), name
order by min(timestamp), name;

请注意,输出格式与您建议的格式略有不同。这会将年/月作为单独的列添加到每一行。这种格式与关系结果集更加一致。

关于php - Mysql 查询查找给定日期范围内某个值出现的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27237014/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com