我有这个
Name | Team | Value
-------|----------|--------
A | RED |1
B | BLUE |2
C | RED |3
D | BLUE |4
E | BLUE |5
我需要这个: 最高价值最高的团队排在第一位
Name | Team | Value
-------|----------|--------
B | BLUE |2
D | BLUE |4
E | BLUE |5
A | RED |1
C | RED |3
答案 0 :(得分:1)
Team
中的每个t2
组找到“等级”(最大值)。Team
。
Name
按升序排序。这样一来,具有最高价值的团队排就排在最前面,并按其内的Name
进行排序。您可以尝试以下查询(将your_table
替换为您的实际表名)
SELECT t1.Name,
t1.Team,
t1.Value
FROM your_table AS t1
JOIN
(
SELECT t2.Team,
MAX(t2.Value) AS rank
FROM your_table AS t2
GROUP BY t2.Team
) AS t2 ON t2.Team = t1.Team
ORDER BY t2.rank DESC, t1.Name ASC