gpt4 book ai didi

mysql - 在 MySQL 中使用 WHERE 和 AS

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

我正在使用以下 MySql 查询,但它不起作用:

SELECT YEAR(DATE) AS YEAR,
MONTH(DATE) AS MONTH ,
CONCAT(MONTH(DATE) , '-', YEAR(DATE)) AS monthYear,
SUM(`sc-bytes` /1073741824) AS volume
FROM `r-by5minutes`
WHERE `ra-id` = '10000'
AND `YEAR` = '2014'
AND `MONTH` = '4'

我不能将 WHERE 与 AS 结合起来吗?

最佳答案

为了在日期列上找到合适的索引,更好的方法是采取不同的 View 。您正在查找日期在 2014 年 4 月之内的任何行,因此,如果您根据需要在 4 月的第一天和最后一天之间的日期来限制 DATE 列,您将允许更有效的查询返回所需的结果,即

SELECT YEAR(DATE) AS YEAR,
MONTH(DATE) AS MONTH ,
CONCAT(MONTH(DATE) , '-', YEAR(DATE)) AS monthYear,
SUM(`sc-bytes` /1073741824) AS volume
FROM `r-by5minutes`
WHERE `ra-id` = '10000'
AND `DATE` >= DATE('2014-04-01') -- Midnight on the first of this month
AND `DATE` < DATE_ADD(DATE('2014-04-01'),INTERVAL 1 MONTH) -- Midnight on the first of next month

它接受一个参数,该参数是您要查找的月份的第一天,然后使用 native DATE_ADD 方法查找上限。这将允许匹配从 2014-04-01 的 00:00:00 到 2014-04-30 的 23:59:59 的所有日期

关于mysql - 在 MySQL 中使用 WHERE 和 AS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23741383/

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