作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这是一个非常奇怪的家伙,至少对我来说是这样。
我有一个查询,用于检索过去几个月前几个实体及其相关记录计数的一些统计数据。
一切正常,但不显示 Junes 的结果。查询运行良好,只是不会给出 Junes 结果。
如果我执行以下任一操作,一切就会重新开始:
但我真的很想找出发生这种情况的原因,而不仅仅是修补查询。在我看来,我的查询应该有效。
SELECT
YEAR(FROM_UNIXTIME(mt.`date_created`)) AS 'Year',
MONTH(FROM_UNIXTIME(mt.`date_created`)) AS 'MonthNumber',
MONTHNAME(FROM_UNIXTIME(mt.`date_created`)) AS 'MonthName',
WEEKOFYEAR(FROM_UNIXTIME(mt.`date_created`) ) AS 'Week',
`at`.`group_name`,
COUNT(`mt`.`mt_id_pk`) AS 'record_count'
FROM
`my_table` AS `mt`
INNER JOIN `another_table` AS `at` ON `mt`.`at_id_fk` = `at`.`at_id_pk`
WHERE `at`.`group_name` IN ('something1','something2','something3')
GROUP BY `at`.`group_name`, `MonthNumber`
HAVING `Year` = YEAR(NOW())
ORDER BY `MonthNumber` DESC
最佳答案
YEAR() 不是聚合函数,不应用于 HAVING 子句,它应该是这样的:
SELECT
YEAR(FROM_UNIXTIME(mt.`date_created`)) AS 'Year',
MONTH(FROM_UNIXTIME(mt.`date_created`)) AS 'MonthNumber',
MONTHNAME(FROM_UNIXTIME(mt.`date_created`)) AS 'MonthName',
WEEKOFYEAR(FROM_UNIXTIME(mt.`date_created`) ) AS 'Week',
`at`.`group_name`,
COUNT(`mt`.`mt_id_pk`) AS 'record_count'
FROM
`my_table` AS `mt`
INNER JOIN `another_table` AS `at` ON `mt`.`at_id_fk` = `at`.`at_id_pk`
WHERE `at`.`group_name` IN ('something1','something2','something3')
AND YEAR(FROM_UNIXTIME(mt.`date_created`)) = YEAR(NOW())
GROUP BY `at`.`group_name`, `MonthNumber`
ORDER BY `MonthNumber` DESC
关于mysql - MySql IN 子句的异常结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16983010/
我是一名优秀的程序员,十分优秀!