MySQL 查询 - 多个表/联接的最低值
MySQL Query - Lowest Values with Multiple Tables / Joins
我正在请求一些帮助,以便在自定义高尔夫网站上使用查询。
我需要的是找到每个球员每门课程的最低分数。我的俱乐部有 3 个九洞循环,总共 27 个洞,但我想找到每 9 个洞中最低的一个(即我描述的球场)。
我有以下数据库结构(注意,我没有放入所有行,只有那些与我正在努力处理的查询相关的行)。
获取完整数据集的查询将是(注意一些字段名称不同 - 该图试图更好地描述......):
select * from round r, round_hole rh, player p, course_nine c, course_hole ch
where r.r_id = rh.rh_rid
and p.id = r.r_pid
and c.cn_nine = r.r_nine
and ch.ch_nine = c.cn_nine
and rh.rh_hid = ch.ch_no
结果快照是:
然而,我需要像上面那样过滤它,变成“每个玩家,每个课程”
我假设这是一些子查询、连接、临时 table 或“in”类型的语句,但很挣扎,尤其是当它跨越多个 table 时。
感谢任何帮助
这可以使用一些简单的聚合来完成。只要您能够正确连接所有表,就可以这样做:
SELECT player, course, MIN(score) AS lowestScore
FROM myTables
GROUP BY player, course;
我正在请求一些帮助,以便在自定义高尔夫网站上使用查询。
我需要的是找到每个球员每门课程的最低分数。我的俱乐部有 3 个九洞循环,总共 27 个洞,但我想找到每 9 个洞中最低的一个(即我描述的球场)。
我有以下数据库结构(注意,我没有放入所有行,只有那些与我正在努力处理的查询相关的行)。
获取完整数据集的查询将是(注意一些字段名称不同 - 该图试图更好地描述......):
select * from round r, round_hole rh, player p, course_nine c, course_hole ch
where r.r_id = rh.rh_rid
and p.id = r.r_pid
and c.cn_nine = r.r_nine
and ch.ch_nine = c.cn_nine
and rh.rh_hid = ch.ch_no
结果快照是:
然而,我需要像上面那样过滤它,变成“每个玩家,每个课程”
我假设这是一些子查询、连接、临时 table 或“in”类型的语句,但很挣扎,尤其是当它跨越多个 table 时。
感谢任何帮助
这可以使用一些简单的聚合来完成。只要您能够正确连接所有表,就可以这样做:
SELECT player, course, MIN(score) AS lowestScore
FROM myTables
GROUP BY player, course;