日期:2014-05-17  浏览次数:20504 次

sql去除重复重复语句,请高人指点一二,万分感谢!
我有Guest表其中GID(主键,int),GName(Nvarchar),Zhx(int)为数据库中的字段
我想实现的是 查询表Guest中GName不重复的数据 其中查询过程中 zhx必须是相同GName中值最大的数据 
类似于:
GID   GName   zhx
1     Name   33
2     Name1  44
3     Name   55

查询后的结果:
2     Name1  44
3     Name   55

求高手指点!
------解决方案--------------------
SELECT  *
FROM    TB a
WHERE   EXISTS ( SELECT 1
                 FROM   ( SELECT    MAX(zhx) zhx ,
                                    gname
                          FROM      TB
                          GROUP BY  gname
                        ) b
                 WHERE  a.gname = b.gname
                        AND a.zhx = b.zhx )

------解决方案--------------------
select * from Guest as A
where not exists(select 1 from Guest where GName=A.GName and Zhx>A.Zhx)