【发布时间】:2019-06-10 10:22:34
【问题描述】:
我在代码中有两个选择,首先随机选择任意 20 名运动员
db.Query("SELECT sp_no, first_name FROM sportsmen LIMIT ?,20", rand.Intn(100000))
然后对于循环中的每个返回的运动员,从积分表中再次选择,在不同的比赛中公布他们的结果
db.Query("SELECT max(point) FROM points WHERE sp_no =" + spNo)
结果我有 20 名运动员,他们的名字和最高分数字。 我正在寻找这些选择的优化,以将它们组合成一个,以避免在代码中循环,然后测量性能。
如何有一个返回 first_name 及其最高点的 select 语句?
看起来像是组合复合选择、加入和存在验证?
谢谢。
【问题讨论】:
-
LIMIT没有ORDER BY没有意义。
标签: mysql sql select query-optimization nested-queries