mysql group by 取最小值的所在的记录的其他值
时间: 2023-10-18 07:08:05 浏览: 87
mysql分组取每组前几条记录(排名) 附group by与order by的研究
可以使用子查询来实现,先根据最小值进行分组,再通过联合查询获取其他值。
例如,假设有一个表名为 `scores`,包含以下字段:`id, name, subject, score`。需要找出每个科目的最低分以及对应的学生姓名和分数,可以使用以下 SQL 语句:
```
SELECT s.name, s.score, s.subject, t.min_score
FROM scores AS s
JOIN (
SELECT subject, MIN(score) AS min_score
FROM scores
GROUP BY subject
) AS t ON s.subject = t.subject AND s.score = t.min_score;
```
这里先使用子查询找出每个科目的最低分,然后再通过联合查询获取对应的学生姓名和分数。
阅读全文