1,对由sum或其它集合函数运算结果的输出进行限制。
2,我们就需要使用HAVING从句。语法格式为:
SELECT "column_name1", SUM("column_name2")
FROM "table_name"
GROUP BY "column_name1"
HAVING (arithematic function condition)
(GROUP BY从句可选) ,
3,由此,我们可以使用如下命令实现上述查询目的:
SELECT store_name, SUM(sales)
FROM Store_Information
GROUP BY store_name
HAVING SUM(sales) >1500
4,查询结果显示为:
store_name SUM(Sales)
Los Angeles $1800
having 用法与WHERE用法类似,但有三点不同
1、HAVING只用于GROUP BY(分组统计语句),
2、WHERE 是用于在初始表中筛选查询,HAVING用于在WHERE和GROUP BY 结果中查询。
3、HAVING可以使用聚合函数,面WHERE 不能。
下面的语句统计用户表中姓名为“李”(WHERE子句定义),出现多于一次(having 用聚合函数COUNT(1)定义)的人的用户
SELECT USERCODE,username=max(username),次数=count(1) from usertable where username like '李%' group by usercode having count(1)>1
4,这个是用在聚合函数的用法。当我们在用聚合函数的时候,一般都要用到GROUP BY 先进行分组,然后再进行聚合函数的运算。运算完后就要用到HAVING 的用法了,就是进行判断了。
having是一种特殊的条件语句,用在有group by的统计查询中,对统计结果设置条件。例如:
select item_name, count(1) as cntfrom table_name
group by item_name
having count(1) > 2
即只取记录个数大于2的item_name(注: SQL语句未经过实测)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)