加班写了一天的SQL语句,记录备忘
SQL语句中如何查询一列的几个值对应的另一列的值
表如下:
Column1 | Column2 | Column3 |
---|---|---|
a | 3 | 6 |
a | 8 | 5 |
b | 4 | 2 |
b | 2 | 7 |
使用sql语句找出每个column1的值对应的column2中最大的那一行..
SELECT Column1, MAX(Column2) FROM [表]
GROUP BY Column1
结果:
a 8
b 5
c 4
然后要把对应的column3选出来
select a.c1,a.c2,b.c3
from (select c1,max(c2) as c2 from tbxxx group by c1) a
left join tbxxx b
on a.c1=b.c1 and a.c2=b.c2