我有一个用户列表,有一个列'点',我需要创建一个列表中的10个点数较低的人和10个点数比用户高的人。
唯一的麻烦是我现阶段无法知道他们的观点是什么,所以我不能使用硬值。
帮助?在此先感谢:)
答案 0 :(得分:1)
试试这个以获得更多积分然后他
select * from users u
where u.points > (select u2.points from users u2 where u2.id = ID_OF_THIS_USER)
order by u.points ascending
limit 10
这比他少了点
select * from users u
where u.points < (select u2.points from users u2 where u2.id = ID_OF_THIS_USER)
order by u.points descending
limit 10
如您所见,您通过子查询获得指定的用户点数。
答案 1 :(得分:0)
SELECT * FROM users ORDER BY points ASC LIMIT 10 UNION
SELECT * FROM users ORDER BY points DESC LIMIT 10