需要按 mysql 中的数据分组
need group by data in mysql
在mysql中:
数据中有数据:
ColA | ColB | Rank
1 2 0
1 3 1
2 1 0
3 1 0
3 2 1
将 Col A 保留为关键字段,需要根据最高排名获取数据,即,
输出:
ColA | ColB | Rank
1 3 1
2 1 0
3 2 1
任何想法..
你可以这样做:
SELECT T1.ColA, T2.ColB, T1.Rank
FROM TableName T2 JOIN
(SELECT ColA,MAX(Rank) as Rank
FROM TableName
GROUP BY ColA) T1 ON T1.ColA=T2.ColA AND T1.Rank=T2.Rank
解释:
- 内部查询 (T1) selects 个记录,每个值
ColA
. 的排名最高
- 外部查询 (T2) 用于 select
ColB
关于 ColA
的值和来自 T2 的排名。
结果:
ColA ColB Rank
--------------------
1 3 1
2 1 0
3 2 1
中查看结果
在mysql中:
数据中有数据:
ColA | ColB | Rank
1 2 0
1 3 1
2 1 0
3 1 0
3 2 1
将 Col A 保留为关键字段,需要根据最高排名获取数据,即, 输出:
ColA | ColB | Rank
1 3 1
2 1 0
3 2 1
任何想法..
你可以这样做:
SELECT T1.ColA, T2.ColB, T1.Rank
FROM TableName T2 JOIN
(SELECT ColA,MAX(Rank) as Rank
FROM TableName
GROUP BY ColA) T1 ON T1.ColA=T2.ColA AND T1.Rank=T2.Rank
解释:
- 内部查询 (T1) selects 个记录,每个值
ColA
. 的排名最高
- 外部查询 (T2) 用于 select
ColB
关于ColA
的值和来自 T2 的排名。
结果:
ColA ColB Rank
--------------------
1 3 1
2 1 0
3 2 1
中查看结果