[SQL]一个删选数据的例子,使用GROUP、DISTINCT

2014-11-24 15:32:40 · 作者: · 浏览: 0
[SQL]一个删选数据的例子,使用GROUP、DISTINCT
今天遇到的问题,纠结了一上午,终于解决了。在此记录下来,自我认为还有很多类似的问题都可以套用这段代码。
需求描述:
一个表MyImage,列有:号码ID,路径PATH
如:
ID PATH
1 C:/
1 C:/
1 D:/
2 C:/
2 C:/
3 A:/
3 C:/
4 D:/
写个SQL语句,返回这样的记录的ID号:相同ID存在不同PATH。如上例子,正确的结果应是:
ID
1
3
(ID2没有不同PATH,ID4只有一条记录不存在不同PATH)
这是我的SQL语句:
[sql] 
select ID from [MyImage] as A  
  group by ID  
  having   
  (  
  select COUNT(distinct(Path)) from [MyImage] as B where B.ID = A.ID  
  )  
  > 1