首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql分组查询的有关问题

2012-01-19 
sql分组查询的问题假如有表格a列数有,查找出相同名称的基础上,UOM存在不同的记录,如下示例数据nameUOMA1A1

sql分组查询的问题
假如有表格a

列数有,查找出相同名称的基础上,UOM存在不同的记录,如下示例数据
name         UOM
A                 1
A                 1
B                 2
B                 2
B                 3
C                 1
C                 1
D                 2
D                 3
D                 4

查找的结果是
B
D
如果能显示不同的UOM的数量更好如
B                 2
D                 3          


[解决办法]
select name,count(UOM) as num from
(select distinct * from a) a group by name having count(UOM)> 1

[解决办法]
Create Table A
(name Varchar(10),
UOM Int)
Insert A Select 'A ', 1
Union All Select 'A ', 1
Union All Select 'B ', 2
Union All Select 'B ', 2
Union All Select 'B ', 3
Union All Select 'C ', 1
Union All Select 'C ', 1
Union All Select 'D ', 2
Union All Select 'D ', 3
Union All Select 'D ', 4
GO
Select name, Count(Distinct UOM) As Count From A Group By name Having Count(Distinct UOM) > 1
GO
Drop Table A
--Result
/*
nameCount
B2
D3
*/

热点排行