当前位置:数据库 > SQLServer >>

MSSQL查询结果排除重复

我有个产品表 Products id(产品ID) uid(用户ID) sort(排序) ...... 1 1 1 2 1 0 3 2 0 4 2 1 我想要在表中查询用户不重复,而且排序为最大的结果: id(产品ID) uid(用户ID) sort(排序) ...... 1 1 1 2 2 1 谢谢了,在线等。
补充:上面这些数据内容的表就可以了,但我的数据库里产品的排序设置不只是0和1,有的用户又可能没有设置,全部都是0,如果全部是0的话就所有记录都出来了。 

id(产品ID) uid(用户ID) sort(排序) ...... 
1 1 1 
2 1 0 
3 2 0 
4 2 1 
5 3 0
6 3 0

这样的话就所有记录都出来了。
答案:select min(a.id) as id , a.uid, a.sort 
from product a, 
(select uid, max(sort) as sort 
from product 
group by uid) b 
where a.uid = b.uid 
and a.sort = b.sort
group by a.uid, a.sort
其他:select max(id) as id,uid,sort From Products
Where rtrim(cast(uid as varchar(5)))+ltrim(cast(sort as varchar(5))) in
(
select rtrim(cast(uid as varchar(5)))+ltrim(cast(max(sort) as varchar(5))) from Products
group by uid
)
group by uid,sort

上一个:求助关于MSSQL数据同步的问题
下一个:为什么每次开电脑都有个名称叫MSSQL$SQLEXPRESS的未知系统服务正在被装入?

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,