SQL 查询问题。怎么从表里只查询出一组里的一条数据
SQL 查询问题。怎么从表里只查询出一组里的一条数据
假设表T里有以下数据,A,B,C 为字段名
table T
A | B | C |
-------|-------|-------|---
1 | 1 | 1 |
1 | 1 | 2 |
1 | 2 | 1 |
1 | 2 | 3 |
1 | 3 | 4 |
小弟想通过SQL文从中得到以下数据
A | B | C |
-------|-------|-------|---
1 | 1 | 1 |
1 | 2 | 1 |
1 | 3 | 4 |
如果能选择性的得到一组里的第一或最后一行就更好了
A | B | C |
-------|-------|-------|---
1 | 1 | 2 |
1 | 2 | 3 |
1 | 3 | 4 |
先谢谢各位高手了
------解决方案--------------------
select *
from
(
select t.*,row_number() over (partition by a,b order by c desc) rn
from t
)
where rn=1