having子句是可选的,结合使用group by子句。它类似于where子句,但经条款规定的限制,确定哪些记录后,将显示他们已进行分组。它通常都处于sql语句的结束,一个having子句的sql语句可能会也可能不包括group by子句。
对于拥有语法如下:
select column1, ... column_n, aggregate_function (expression)
from table_name
[where condition]
[group by column1, ... column_n]
having condition
实例:
select item, sum(price) as totalsum
from antiques
group by item
having sum(price)>57
查询返回不同的项目和所谓'字段列表totalsum'算数的古董结果总和供应每个项目。 having子句将只返回那些超过57美元的金额与项目的结果。
范例#2
select sellerid, count(*) as number_of_sellers
from antiques
where buyerid=21
group by sellerid
having count(*)>1
个例子显示了卖方的id列表,以及它们的数量,但只有在有一个以上的buyerid等于15卖方。
例如#3
select item, count(item) as total, max(price) as maxprice
from antiques
group by item
having count(item) > 1 and max(price)
