林加入3个表呈现的表与用户最高分PHP MySQL的排行榜表
我的表
game_log:
---ID---user_ID---score---time---
| 1 52 567 10 |
| 2 53 641 13 |
| 3 52 465 8 |
| 4 53 451 14 |
---------------------------------
用户:
---ID---name---countyid---
| 52 Dave 1 |
| 53 John 2 |
------------------------
县:
---countyid---countyname---
| 1 Orange wichit |
| 2 Orange clemts |
--------------------------
SQL:
SELECT * FROM game_log
INNER JOIN users ON game_log.user_ID=users.ID
INNER JOIN county ON users.countyid=county.countyid
ORDER BY game_log.score DESC , game_log.time LIMIT 20";
上面的代码给了我这样的结果:
Rank---Name--------County------Score---Time
1 John Orange clemts 641 13
2 Dave Orange wichit 567 10
3 John Orange clemts 465 8
4 Dave Orange wichit 451 14
我的问题是,我想高分表与得分最高的显示前20名用户,而不是20个最高分。
像这样:
Rank---Name--------County------Score---Time
1 John Orange clemts 641 13
2 Dave Orange wichit 567 10
需要这方面的帮助索姆,不熟悉的连接表;-)
加入一个子查询,为每个组选择最高分数。 – Mihai
如果用户有2个相同分数的实例,并且该分数是他们的最高分,并且他们位于前20名,那么您希望为用户带回哪条记录?具有最低或最高时间值的那个?或者是其他东西? –