【发布时间】:2015-03-24 17:06:41
【问题描述】:
我在 MySQL 中拥有运动表现。
结构:
id (PRIMARY KEY)
athlete_id (FOREIGN KEY)
perform
category_id
discipline_id
如果我想从这个表中选择最好的表现(每个运动员最多只能出现一次),我使用这个查询:
SELECT
*
FROM
performs NATURAL
JOIN athletes
JOIN
(SELECT
athlete_id,
MIN(perform) AS perform,
category_id,
discipline_id
FROM
zaznamy
WHERE discipline_id = 4
AND category_id = 3
GROUP BY athlete_id) rec
ON performs.athlete_id = rec.athlete_id
AND performs.perform = rec.perform
AND performs.category_id = rec.category_id
AND performs.discipline_id = rec.discipline_id
ORDER BY performs.perform
LIMIT 25
我得到了正确的结果。但我想从一个学科和更多类别中选择最好的表现(例如男子与青少年等)。如何对两列使用子句 GROUP BY?
【问题讨论】:
标签: mysql database group-by min