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的未知系统服务正在被装入?