如果在分数表中有分数,如何获得按用户名排序的列表?

时间:2013-03-28 01:53:26

标签: php sql-order-by mysql

我有两个名为“用户”和“得分”的表格 我想按用户名列出用户订单,用户名应在分数表中

用户表:

 id Username
 1  D
 2  B
 3  F
 4  A
 5  E
 6  C

得分表:

 Scorid UserID score
 1      3      156
 2      4      202
 3      4      890
 4      6      346
 5      3      657
 6      5      658
 7      5      700
 8      5      263
 9      2      1089
 10     3      745

我想要一个这样的列表:

 UserName score
 A        890
 A        202
 B        1089
 C        346
 E        700
 E        658
 E        263
 F        745
 F        657
 F        156

*列表必须按用户名排序,分数在用户名组中也是订单 *用户“D”未列出,因为它没有得分 *用户可能有多个分数

我用PHP编写,我正在使用mysql

哪个查询在一个查询中提供此列表?

3 个答案:

答案 0 :(得分:0)

Select Username, score 
from   user, score 
where  score.UserID = user.id and 
       score > 0
order  by username, score

答案 1 :(得分:0)

SELECT
user.username,
score.score
FROM user
LEFT JOIN score
ON score.UserID = user.id

答案 2 :(得分:0)

这是您要运行的查询(MySQL),其名称正确(注意我已将表名更改为复数):

SELECT username, score
FROM  `score` 
JOIN  `user` ON id = UserID
ORDER BY username ASC , score DESC