【发布时间】:2015-04-07 01:40:54
【问题描述】:
我有一个包含多个列的数据库,我从中创建了这个视图,其中有多个类似于下面显示的行。数据可用于 2009 年至 2010 年每月的每一天以及给出的 5 个名称的所有月份。我必须获取每个月出现“超级”类别超过 5 次的“名称”,并为每个月单独列出。该视图包含所有月份的数据。
Name Dates Category
--------------------------------
PAT 2009-01-01 Super
YAT 2009-01-01 No
ROT 2009-01-01 No
SUP 2009-01-01 Super
ANT 2009-01-01 Super
我尝试使用来计算 MySQL 中的名称数
SELECT `NAME`,`DATES`
FROM (
SELECT `NAME`, `CATEGORY`,MONTH(`DATES`)
FROM VIEW
GROUP BY `NAME`, `CATEGORY`,MONTH(`DATES`)
HAVING COUNT(`CATEGORY`)>5
) a
GROUP BY `NAME`
HAVING count(`CATEGORY`)>5;
但它不返回任何行。
【问题讨论】:
-
如果在离开
HAVING COUNT(CATEGORY)>5的同时运行查询会发生什么?你有什么收获吗? -
@OllieJones 当我这样做时它会显示一条 mysql 语法错误消息。
标签: mysql date select conditional