在Oracle中,having一定要结合group by使用,但在mysql中,情况就不一样了。能够单独使用。
C:\Documents and Settings\guogang>sqlplus test/test
SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 8月 12 09:09:58 2014 Copyright (c) 1982, 2005, Oracle. All rights reserved. 连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> select * from test1 having owner ='SYS'; select * from test1 having owner ='SYS' * 第 1 行出现错误:ORA-00979: 不是 GROUP BY 表达式
SQL> select owner,count(1) from test1 group by owner having owner ='SYS'; OWNER COUNT(1) ------------------------------ ----------
SYS 30754
mysql> select * from test having id>98; +------+-------------+ | id | create_time | +------+-------------+ | 99 | 2014-08-12 | | 100 | 2014-08-12 | +------+-------------+ 2 rows in set (0.00 sec)
mysql> select id,count(1) from test group by id having id>98; +------+----------+ | id | count(1) | +------+----------+ | 99 | 1 | | 100 | 1 | +------+----------+ 2 rows in set (0.00 sec)