为什么以下查询在空数据库的MySQL 5.6中返回NO RESULT?COUNT(*)不能与群组一起使用?
SELECT COUNT(*)
FROM a_sec_banns
WHERE ip = 'not-exist-ip'
GROUP BY ip
HAVING max(date_created) <= '10-10-2014' or count(*) > 3;
表的结构是这样的:
CREATE TABLE `a_sec_banns` (
`ID` bigint(20) NOT NULL AUTO_INCREMENT,
`DATE_CREATED` datetime DEFAULT NULL,
`IP` varchar(60) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
我希望查询COUNT(*)将返回一个数> 0,0,如果没有,异常,如果查询是错误的。但从不NULL - COUNT上的NULL/NO结果目的是什么?
没有意义只通过ip过滤一个ip和group。 – 2014-10-31 09:41:07
空表,没有结果,在我看来应该如何工作?有0条记录属于你的'HAVING'条款('max(date_created)<= '10 -10-2014'或count(*)> 3') – Wrikken 2014-10-31 09:41:12
提供一些输入数据。 – SonalPM 2014-10-31 09:41:48