数据库的检索问题col1 col2 col3 col4 col5 1 1 1 a 101 1 1 b 202 2 2 a 302 2 2 a 402 2 2 a 503 3 3 c 603 3 3 d 704 4 4 m 804 4 4 m 905 5 5 m 100想要的结果就是col1,col2,col3列相等的场合,如果col4不同的话,就取对应的最后
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/20 07:15:30
![数据库的检索问题col1 col2 col3 col4 col5 1 1 1 a 101 1 1 b 202 2 2 a 302 2 2 a 402 2 2 a 503 3 3 c 603 3 3 d 704 4 4 m 804 4 4 m 905 5 5 m 100想要的结果就是col1,col2,col3列相等的场合,如果col4不同的话,就取对应的最后](/uploads/image/z/14219458-34-8.jpg?t=%E6%95%B0%E6%8D%AE%E5%BA%93%E7%9A%84%E6%A3%80%E7%B4%A2%E9%97%AE%E9%A2%98col1+col2+col3+col4+col5+1+1+1+a+101+1+1+b+202+2+2+a+302+2+2+a+402+2+2+a+503+3+3+c+603+3+3+d+704+4+4+m+804+4+4+m+905+5+5+m+100%E6%83%B3%E8%A6%81%E7%9A%84%E7%BB%93%E6%9E%9C%E5%B0%B1%E6%98%AFcol1%2Ccol2%2Ccol3%E5%88%97%E7%9B%B8%E7%AD%89%E7%9A%84%E5%9C%BA%E5%90%88%2C%E5%A6%82%E6%9E%9Ccol4%E4%B8%8D%E5%90%8C%E7%9A%84%E8%AF%9D%2C%E5%B0%B1%E5%8F%96%E5%AF%B9%E5%BA%94%E7%9A%84%E6%9C%80%E5%90%8E)
数据库的检索问题col1 col2 col3 col4 col5 1 1 1 a 101 1 1 b 202 2 2 a 302 2 2 a 402 2 2 a 503 3 3 c 603 3 3 d 704 4 4 m 804 4 4 m 905 5 5 m 100想要的结果就是col1,col2,col3列相等的场合,如果col4不同的话,就取对应的最后
数据库的检索问题
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 302 2 2 a 402 2 2 a 503 3 3 c 603 3 3 d 704 4 4 m 804 4 4 m 905 5 5 m 100想要的结果就是col1,col2,col3列相等的场合,如果col4不同的话,就取对应的最后
下面的只考虑每个分组的数据中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