一个排名的问题

Wprzkttly 2011-08-10 10:08:20

uid score date
1 3000 1232365445
2 2000 1365000004
3 2000 1311111111
4 5000 1312222222
5 3000 1345455555



类似上面的结构,然后排名, 如果分数相同,则按时间前后顺序再排。。所得到的名次要求没有重复~~求大神解决。
...全文
117 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
overgame 2011-08-10
  • 打赏
  • 举报
回复
把score和date这两个字段同时做order by可以解决你的问题
Wprzkttly 2011-08-10
  • 打赏
  • 举报
回复
最后还是两条语句查出来了。。。[Quote=引用 6 楼 kyzy_yy_pm 的回复:]

destict或者group by来作用到score上就好了,不过说实在的,你这个需求太古怪了,如果两个第一名那不是倒霉了,还不如第二名呢
[/Quote]
kyzy_yy_pm 2011-08-10
  • 打赏
  • 举报
回复
destict或者group by来作用到score上就好了,不过说实在的,你这个需求太古怪了,如果两个第一名那不是倒霉了,还不如第二名呢
lazyboy_wu 2011-08-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xuzuning 的回复:]

... order by score desc, date desc
[/Quote]
获取数据的顺序就是排名
Wprzkttly 2011-08-10
  • 打赏
  • 举报
回复

排名:1-------得分:18100.'
'排名:2-------得分:6200.'
'排名:3-------得分:5100.'
'排名:4-------得分:2300.'
'排名:5-------得分:2000.'
'排名:7-------得分:900.'
'排名:7-------得分:900.'
'排名:16-------得分:0.'
'排名:16-------得分:0.'
'排名:16-------得分:0.'
'排名:16-------得分:0.'
'排名:16-------得分:0.'
'排名:16-------得分:0.'
'排名:16-------得分:0.'
'排名:16-------得分:0.'
'排名:16-------得分:0.'



我之前得到是这样的一堆数据。。应该是 1,2,3,4,5,6,7....这么个顺序。。
kyzy_yy_pm 2011-08-10
  • 打赏
  • 举报
回复
select * from table order by 3000 desc, date asc
注意:所得到的名次要求没有重复?这个怎么回事啊,按理说本来就不会有重复的才对啊,如果去重复你可以用destict或者group by
Wprzkttly 2011-08-10
  • 打赏
  • 举报
回复
要出现一个名词的字段。。。。不是需要用到 select count(*)之类的吗??[Quote=引用 1 楼 xuzuning 的回复:]

... order by score desc, date desc
[/Quote]
xuzuning 2011-08-10
  • 打赏
  • 举报
回复
... order by score desc, date desc

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧