首页 新闻 搜索 专区 学院

求Sql查询语句

0
[已解决问题] 解决于 2010-10-30 16:01

一个表中有三列,数据如下:

1 2 a
1 2 b
3 4 c
3 4 d
7 8 e

求SQL语句实现如下功能: 以第一列和第二列为分组查询出不重复的行,第三列也要显示但不重要,只需显示每组的第一个条即可。我所求的结果如下:

1 2 a
3 4 c
7 8 e

 

luotong的主页 luotong | 初学一级 | 园豆:4
提问于:2010-10-17 17:41
< >
分享
最佳答案
0

就直接分组就可以了

select 列1, 列2,max(列3) from table group by  列1, 列2

John29 | 小虾三级 |园豆:825 | 2010-10-29 11:51
其他回答(3)
0

select 列1,max(列2),max(列3) from table group by 列1

写代码的小2B | 园豆:4355 (老鸟四级) | 2010-10-17 17:57
0

如果你用的是sql2005的话:

 

WITH s as(
select 列1, 列2,列3, ROW_NUMBER() OVER (PARTITION BY 列1, 列2 ORDER BY 列1)
AS rn from test a )
select * from s where rn<2
dodohua | 园豆:1037 (小虾三级) | 2010-10-18 14:38
0

2005+按ls的就可以了,2000的话可以这样:

select * from tb a where not exists(select 1 from tb where col1=a.col1 and col2=a.col2 and col3<a.col3)

清海扬波 | 园豆:823 (小虾三级) | 2010-10-18 14:54
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册