MySQL 订购几列 ASC 和 DESC
我有 2 MYSQL 桌子,
用户
和
估计
. 细节:
用户表:
点表:
我的意图是获得列表 20 有分类字段的用户
小点
DESC /下降/ 和排序
场地 avg_time ASC /上升/. 我使用查询:
结果,事实证明:
结果不是必需的,因为第一行完全是相等的 point = 100 和 avg_time = 60.
我想要的结果:
我尝试了不同的要求,但结果仍然是错误的。 你能给我一些解决方案吗?
先感谢您!
用户
和
估计
. 细节:
用户表:
点表:
我的意图是获得列表 20 有分类字段的用户
小点
DESC /下降/ 和排序
场地 avg_time ASC /上升/. 我使用查询:
SELECT users.username, scores.point, scores.avg_time
FROM scores, users
WHERE scores.user_id = users.id
GROUP BY users.username
ORDER BY scores.point DESC, scores.avg_time
LIMIT 0, 20
结果,事实证明:
结果不是必需的,因为第一行完全是相等的 point = 100 和 avg_time = 60.
我想要的结果:
username point avg_time
demo123 100 60
demo123456 100 100
demo 90 120
我尝试了不同的要求,但结果仍然是错误的。 你能给我一些解决方案吗?
先感谢您!
没有找到相关结果
已邀请:
4 个回复
莫问
赞同来自:
所以,现在这个问题。 如果以上批准为真,则需要从最佳分数开始/每人的平均时间和分配此记录 "Rank". 与变量很容易 MySQL@. 然后打开要约 HAVING, 只采取这些记录 1 每个人的地方。 最后,申请最佳点和最短的平均时间。
[/url]
请注意,由于内置 @variables, 需要接收答案,在每一行的末尾都有两个附加列。 只是 "left-over" 并且可以在您想要做的任何实际输出演示文稿中忽略...... OR, 您可以将所有级别包装在一起以获得您想要的几列,例如
裸奔
赞同来自:
用户:要点 = 1 : *
只是
- 这不是解决方案。
这是你的意图吗?
/这请求获得所有用户的平均分数和中点 avg_time 下降,上升 /avg_time
如果你想获得评级的每一个分数? 使用
裸奔
赞同来自:
他使用了相同的结果 GROUP BY 反而 user @variables.
冰洋
赞同来自:
username point avg_time
demo123 100 90 ---> id = 4
DEMO123456 100 100 ---> id = 7
演示 90 120 ---> id = 1