日期:2014-05-18 浏览次数:20607 次
select Columns1 ,min(Columns2) from tb group by Columns1
------解决方案--------------------
select * from tb t where columns2=(select min(columns2) from tb where columns=t.columns)
------解决方案--------------------
select Columns1 ,min(Columns2) from tb group by Columns1
select * from tb t where columns2=(select min(columns2) from tb where columns=t.columns)
两个都可以,那假如最小的col2有重复的怎么处理?是全部显示出来还是只取一个?
------解决方案--------------------
可能给的数据、结果不够典型
否则3楼的sql就行了
------解决方案--------------------
select * from (
select Columns1, Columns2,row_number() over (partition by Columns1 order by Columns2) cnt from table )
where cnt =1
------解决方案--------------------
select Columns1,min(Columns2) from tb group by Columns1
------解决方案--------------------
CREATE TABLE #TEMP(ID VARCHAR(2),ID2 VARCHAR(2)) INSERT INTO #TEMP SELECT 'A1','B1' UNION ALL SELECT 'A1','B1' UNION ALL SELECT 'A1','B2' UNION ALL SELECT 'A2','B2' UNION ALL SELECT 'A2','B3' UNION ALL SELECT 'A3','B1' SELECT DISTINCT * FROM #TEMP T0 WHERE NOT EXISTS(SELECT 1 FROM #TEMP WHERE T0.ID=ID AND T0.ID2>ID2) /* ID ID2 A1 B1 A2 B2 A3 B1 */
------解决方案--------------------
問清他的需求.有岐意.
------解决方案--------------------
不太懂 。。。。 哎