【发布时间】:2019-09-17 11:48:06
【问题描述】:
我正在尝试寻找一种解决方案,只返回 SQL 查询中价值最高的行
我有一个查询,它将两个表连接在一起,然后检查 id 在不同表中匹配的次数(在“athelete”中,id 参数是唯一的)。
SELECT t.athlete_id, count(a.id) as 'Number of activities' FROM training_session t
INNER JOIN athlete a ON t.athlete_id = a.id
WHERE t.athlete_id = a.id
GROUP BY a.id
返回下表
athlete_id Number of activities
1 4
2 1
3 1
4 1
5 1
6 1
发出的问题是我只想返回活动数量最多的行。根据上表,这应该是
athlete_id = 1 因为它的活动量最大。
如果我能提供一些关于如何改进我的查询以匹配这些查询的建议,我将不胜感激。
【问题讨论】: