数据库表格简化结构,col1 col2 col3
1 2 1
1 2 2
2 2 4
2 3 2
3 3 5
3 2 3这是3个列。首先group by col2那么分组以后我想用having 对每个组进行排列,不是这个数据结果,
也就是说
最后结果应该是 1 2 1
1 2 2
3 2 3
3 2 4
2 3 2
3 3 5
然后 获取每个组的第一条数据也就是 1 2 1
2 3 2 谢谢各位高手 帮小弟哈
1 2 1
1 2 2
2 2 4
2 3 2
3 3 5
3 2 3这是3个列。首先group by col2那么分组以后我想用having 对每个组进行排列,不是这个数据结果,
也就是说
最后结果应该是 1 2 1
1 2 2
3 2 3
3 2 4
2 3 2
3 3 5
然后 获取每个组的第一条数据也就是 1 2 1
2 3 2 谢谢各位高手 帮小弟哈
SELECT *
FROM TB
ORDER BY COL2,COL3,COL1第二个
SELECT *
FROM TB T1
WHERE NOT EXISTS(
SELECT 1 FROM T2 WHERE T2.COL2=T1.COL2 AND T2.COL3>T1.COL3
)
select col2,
col3
from test t
where col1 in(select top 1 col1 from test where col2=t.col2 order by col3 asc)
SELECT *
FROM TB T1
WHERE NOT EXISTS(
SELECT 1 FROM T2 WHERE T2.COL2=T1.COL2 AND T2.COL3<T1.COL3
)
(select *,row_number() over(partition by col2 order by col2) as rownum
from col表) as tb1
where rownum<2
) a where nn1=nn2