急求一查询语句。感谢
现有表
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 行)
*/