【发布时间】:2021-07-14 05:21:48
【问题描述】:
我有一个带有子查询 q1 的查询
SELECT skillset_name, level_name, level_value
FROM
(SELECT ...) q1
WHERE met=1
它返回以下内容:
+------------------+------------+-------------+
| skillset_name | level_name | level_value |
+------------------+------------+-------------+
| Python Fullstack | L1 | 1 |
| PHP Fullstack | L2 | 2 |
| Java Fullstack | L0 | 0 |
| Python Backend | L1 | 1 |
| PHP Backend | L2 | 2 |
| PHP Fullstack | L1 | 1 |
| Python Fullstack | L2 | 2 |
| PHP Backend | L1 | 1 |
| Python Backend | L2 | 2 |
+------------------+------------+-------------+
现在我需要过滤掉它,只返回每个技能组名称的最高级别,即我只需要这个:
+------------------+------------+-------------+
| skillset_name | level_name | level_value |
+------------------+------------+-------------+
| PHP Fullstack | L2 | 2 |
| Java Fullstack | L0 | 0 |
| PHP Backend | L2 | 2 |
| Python Fullstack | L2 | 2 |
| Python Backend | L2 | 2 |
+------------------+------------+-------------+
如何在 MySQL (5.7) 中获得它?我尝试了多种使用 GROUP BY 的方法,但似乎无法使其正常工作。
【问题讨论】: