在Oracle中,having一定要结合group by使用,但在中,情况就不一样了,可以单独使用。

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, . 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)