having在Oracle和MySQL中不一样的地方
在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)