作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用以下 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/
我是一名优秀的程序员,十分优秀!