求一条排名的sql语句

-土星- 发布于 2013/12/24 11:04
阅读 280
收藏 0

表user有以下字段:userid varchar(50),score int

需求:查出用户zhangshan的排名及zhangshan前面的10名、后面的10名。

加载中
0
AtansChiu
AtansChiu
很簡單的 score > zhangshan的score LIMIT 10 or  score< zhangshan的score LIMIT 10
_泡泡_
_泡泡_
那也有可能别人分数和张三考的一样多啊
-土星-
-土星-
确认能这么用?报错啊。
0
fxhover
fxhover

不建议用一条语句去查询,查询出来之后还要判断才能知道是大于还是小于,因为结果集是同一个:

select * from user where score > x limit 10 union select * from user where score < y limit 10;

可以分成两条查询去做。

AtansChiu
AtansChiu
當然用兩條,我只是給簡單提示
fxhover
fxhover
回复 @爆炸 : 忘了加排序,加个就好了。
爆炸
爆炸
没排序
0
Ryan-瑞恩
Ryan-瑞恩
使用楼上的union来做。。。。。
返回顶部
顶部