我有2张桌子: 第一张表叫做maxlift,有一列称为运动 第二个表称为锻炼,有5列称为锻炼,集合,代表,体重,日期
我想要显示两个表中的运动相同的每个运动的最高权重。 我正在使用:
`SELECT *
FROM workout, maxlift
WHERE workout.exercise = maxlift.exercise
GROUP BY maxlift.exercise
ORDER BY workout.weight desc`
我遇到的问题是显示的体重不是桌上训练的最高体重。
感谢您的帮助。
答案 0 :(得分:0)
`SELECT *
FROM workout, maxlift
WHERE workout.exercise = maxlift.exercise
ORDER BY workout.weight desc`
通过删除group by并让我知道它来使用它
答案 1 :(得分:0)
您可以使用聚合函数max()
。
SELECT workout.exercise, max(weight) as weight
FROM workout, maxlift
WHERE workout.exercise=maxlift.exercise
GROUP BY workout.exercise;
现在,您基本上按exercise
分组,并使用max()
函数找到每个此类组的最大权重。您可以使用column_name as alias
为所选列设置别名。