gpt4 book ai didi

MySQL 查询按日期范围分组的行数

转载 作者:行者123 更新时间:2023-11-29 06:40:53 24 4
gpt4 key购买 nike

全部。我有一个表,其中的日期列要么为空,要么包含事件的日期。我试图计算有多少个日期落在给定范围内(例如,该月的第一天到该月的最后一天),然后按该范围进行分组(即按月分组)

如果我只做一个月,它会是这样的:

SELECT count(*)
FROM my_table
WHERE my_table.event_date > 1530403200 and my_table.event_date < 1530403200
/* 7/1/2018 to 7/31/2018 */

所以我真正想要的是一个查询,为我提供按月分组的结果以及每个月内的总行数,例如:

:
6/1/2018 - 6/30/2018, 8650
7/1/2018 - 7/31/2018, 9180
:
etc.

感谢您的建议。

最佳答案

您可以使用类似以下内容:

SELECT
MONTH(FROM_UNIXTIME(event_date)) AS month,
MIN(FROM_UNIXTIME(event_date)) AS first_date,
MAX(FROM_UNIXTIME(event_date)) AS last_date,
COUNT(*) AS cnt_dates
FROM my_table
WHERE FROM_UNIXTIME(my_table.event_date) > '2018-08-01'
AND FROM_UNIXTIME(my_table.event_date) < '2018-08-15'
AND NOT my_table.event_date IS NULL
GROUP BY MONTH(FROM_UNIXTIME(event_date))

demo: https://www.db-fiddle.com/f/nNVBtJgpKkiCcf7B9GPCEN/0

关于MySQL 查询按日期范围分组的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51659669/

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