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

sql去掉重复查询所有数据
例如
(user)表
id   name  a   b
1    张三  1    1
2    张三  2    2
3    李四  3    3
4    李四  4    4
5    李四  5    5
6    王五  6    6
7    赵六  7    7

我想要的效果是
id   name  a   b
1    张三  1    1
3    李四  3    3
6    王五  6    6
7    赵六  7    7

我用过select * from (select DISTINCT name  from user) as asd 
新手刚刚接触 求指教啊

------解决方案--------------------
SELECT * FROM TB [USER] T WHERE B=(SELECT MAX(B) FROM [USER] WHERE NAME=T.NAME)

------解决方案--------------------
引用:
SELECT * FROM TB [USER] T WHERE B=(SELECT MAX(B) FROM [USER] WHERE NAME=T.NAME)
mark
------解决方案--------------------
select id=MIN(id),name,a=MIN(a),b=MIN(b)
from user 
group by name

------解决方案--------------------
SELECT * FROM TB [USER] T WHERE B=(SELECT MIN(B) FROM [USER] WHERE NAME=T.NAME)

------解决方案--------------------
----------------------------
-- Author  :DBA_Huangzj(發糞塗牆)
-- Date    :2013-09-06 10:39:57
-- Version:
--      Microsoft SQL Server 2014 (CTP1) - 11.0.9120.5 (X64)