早教吧 育儿知识 作业答案 考试题库 百科 知识分享

select语句问题selectdistincta,b,cfromtable;结果集为:abc11222213621372138如何2、3、4行取其一(即a、b列相同而c列不同的多行选择其一)

题目详情
select语句问题
select distinct a,b,c from table;
结果集为:
a b c
1 12 22
2 13 6
2 13 7
2 13 8
如何2、3、4行取其一(即a、b列相同而c列不同的多行选择其一)
▼优质解答
答案和解析
select a,b,c from
(select a.*, row_number() over(partition by a,b  order by a,b ) rn
from table a)
where rn=1;
这个语法是把表table中的记录按照a,b两个字段相同的进行排序,取按照a,b相同排序的第一行就可以得到a、b列相同而c列不同的多行选择其一.这种方法多用于按照其中一个字段来取每个值捞一条记录.