SQL语句求助 根据分数大小自动在另一字段生成排名

haiku111 2015-07-16 03:41:50
数据在phpmyadmin里面的。
如图

我想根据zongfen这个字段的大小在zongfen_rank字段里面自动生成排名
(根据不同学校,不同科类排名分文科理科)
...全文
366 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Tiger_Zhao 2015-07-17
  • 打赏
  • 举报
回复
排名用ROW_NUMBER()是错误的,相同分数的排名会不一样。不用考虑了。
haiku111 2015-07-16
  • 打赏
  • 举报
回复
引用 1 楼 Landa_Ran 的回复:
用ROW_NUMBER()
select *,ROW_NUMBER() over(partition by xuexiao,kelei order by zongfen) zongfen_rank
from phpmyadmin
row_number() over 这个函数会不会在mysql里面不起作用的??
Pact_Alice 2015-07-16
  • 打赏
  • 举报
回复
select *,row_number()over(partition by 学校,科类 order by zongfen )zongfen_rank form tabName
许晨旭 2015-07-16
  • 打赏
  • 举报
回复
用ROW_NUMBER()
select *,ROW_NUMBER() over(partition by xuexiao,kelei order by zongfen) zongfen_rank
from phpmyadmin
Tiger_Zhao 2015-07-16
  • 打赏
  • 举报
回复
UPDATE phpmyadmin
SET zhongfen_rank = t.zhongfen_rank
FROM phpmyadmin P
JOIN (
SELECT id,
RANK() OVER(PARTITION BY xuexiao,kelei
ORDER BY zhongfen DESC
) zhongfen_rank
FROM phpmyadmin
) t
ON phpmyadmin.id = t.id

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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