读书人

急求一查询语句。感谢。该怎么解决

发布时间: 2012-02-01 16:58:19 作者: rapoo

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

需求:查询出三个字段都唯一的第一条记录,去除重复的。我知道一个字段是distinct,多个可以用group by ,但没写出来。,急求各位帮忙。。感谢

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

select id=min(id),zd1,zd2,zd3
from 表
group by zd1,zd2,zd3
[解决办法]
--如果是要除重
Delete From 表 Where id Not In (Select Min(id) From 表 Group By zd1, zd2, zd3)
[解决办法]
select min(id) as id,zd1,zd2,zd3 from tb group by zd1,zd2,zd3
[解决办法]
create table tb(id int,zd1 int, zd2 int,zd3 int)
insert tb
select 1 , 111 ,222 ,333
union select 2 , 111, 222 ,444
union select 3 , 555 , 222 , 333
union select 4 , 111 ,222 , 333
union select 5 , 666 , 777 ,888
union select 6 , 555 ,222, 333

select id=min(id),zd1,zd2,zd3
from tb
group by zd1,zd2,zd3


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

(4 row(s) affected)
*/

读书人网 >SQL Server

热点推荐