日期:2014-05-17  浏览次数:20615 次

having 怎么用?
id          snum        demo                 num
----------- ----------- -------------------- --------------------
1           24          NULL                 1
4           24          aaa                  2
2           26          NULL                 1
5           26          aaa                  2
3           32          NULL                 1
7           32          aaa                  2

select MAX(id) 'id' ,max(num) 'num' from tt
group by snum
having max(num)>=2


having使用聚合函数就行
但是:
select MAX(id) 'id' ,max(num) 'num' from tt
group by snum
having num>=2


报错:
消息 8121,级别 16,状态 1,第 11 行
HAVING 子句中的列 'tt.num' 无效,因为该列没有包含在聚合函数或 GROUP BY 子句中。


having好像不只能使用聚合函数吧
having

------解决方案--------------------
----------------------------------------------------------------
-- Author  :DBA_Huangzj(發糞塗牆)
-- Date    :2013-11-26 11:44:17
-- Version:
--      Microsoft SQL Server 2012 (SP1) - 11.0.3128.0 (X64) 
-- Dec 28 2012 20:23:12 
-- Copyright (c) Microsoft Corporation
-- Enterprise Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: )