作业帮 > 综合 > 作业

数据库的检索问题col1 col2 col3 col4 col5 1 1 1 a 101 1 1 b 202 2 2 a

来源:学生作业帮 编辑:搜搜考试网作业帮 分类:综合作业 时间:2024/07/30 03:38:57
数据库的检索问题
col1 col2 col3 col4 col5
1 1 1 a 10
1 1 1 b 20
2 2 2 a 30
2 2 2 a 40
2 2 2 a 50
3 3 3 c 60
3 3 3 d 70
4 4 4 m 80
4 4 4 m 90
5 5 5 m 100
想要的结果就是col1,col2,col3列相等的场合,如果col4不同的话,就取对应的最后一条数据.如果col4相同的话,就取第一条数据
预想的结果
col1 col2 col3 col4 col5
1 1 1 b 20
2 2 2 a 30
3 3 3 d 70
4 4 4 m 80
5 5 5 m 100
数据库的检索问题col1 col2 col3 col4 col5 1 1 1 a 101 1 1 b 202 2 2 a
下面的只考虑每个分组的数据中col4和col5都是同升序排列的:
select
col1,
col2,
col3,
case when count(distinct col4)>1 then max(col4) else min(col4) end col4,
case when count(distinct col4)>1 then max(col5) else min(col5) end col5
from
tab
group by
col1,col2,col3