gpt4 book ai didi

mysql - 按年份和月份选择项目范围

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

我正在尝试创建一个按年和月获取项目的选择语句。

这是我目前所拥有的:

SELECT * FROM sales WHERE YEAR(Date) = 2013 AND MONTH(?) = 'June'

我不能只选择日期范围,因为不同的月份有不同的天数。理想的做法是按数字(例如,1 月为 1)或类似方法选择月份。

这是如何在 mysql 语句中计算出来的?

字段是日期时间字段如2012-12-01 00:00:00

最佳答案

看看性能,把你的条件写成

SELECT * FROM sales 
WHERE
Date >= '2013-06-01 00:00:00'
AND
Date < '2013-07-01 00:00:00'

示例月份:2013 年 6 月

这样 MySQL 就可以在日期列上使用索引。您将获得日期为 2013 年 6 月的所有行,即使是第一秒,但不是 2013 年 7 月第一秒的行。

您知道,您不需要知道特定月份的天数,因为您将永远使用这两个月的第一天。

您也可以使用一些日期计算:

SELECT * FROM sales 
WHERE
Date >= '2013-06-01 00:00:00'
AND
Date < '2013-06-01 00:00:00' + INTERVAL 1 MONTH

所以你只需要知道间隔的开始和长度。

注意

我的答案中最重要的部分是使用列 Date 而不在该列上使用函数,因此 MySQL 可以使用索引。

关于mysql - 按年份和月份选择项目范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25437148/

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