读书人

急求一查询语句。感谢解决思路

发布时间: 2012-01-29 21:39:32 作者: rapoo

急求一查询语句。感谢
现有表
id zd1 zd2 zd3
1 111 222 333
2 444 555 666
3 111 222 777
4 111 222 333
5 888 555 666
6 444 555 666
结果:
id zd1 zd2 zd3
1 111 222 333
2 444 555 666
3 111 222 777
4 888 555 666

需求是查询出三个字段都必须唯一的第一条记录。重复的不要。。我知道一个字段用distinct,三个字段有人告诉我用 group by,但我没写出来。。。急求高手解决!!感谢

[解决办法]
错了.应该是

select min(id) id, zd1,zd2,zd3 from 表 group by zd1,zd2,zd3
[解决办法]
select min(id) as id, zd1,zd2,zd3 from 表 group by zd1,zd2,zd3

[解决办法]
create table tb(id int, zd1 int, zd2 int, zd3 int)
insert into tb values(1 , 111, 222, 333)
insert into tb values(2 , 444, 555, 666)
insert into tb values(3 , 111, 222, 777)
insert into tb values(4 , 111, 222, 333)
insert into tb values(5 , 888, 555, 666)
insert into tb values(6 , 444, 555, 666)
select min(id) id, zd1,zd2,zd3 from tb group by zd1,zd2,zd3 order by id
drop table tb

/*
id zd1 zd2 zd3
----------- ----------- ----------- -----------
1 111 222 333
2 444 555 666
3 111 222 777
5 888 555 666

(所影响的行数为 4 行)


*/

读书人网 >SQL Server

热点推荐