求一条sql语句,按照成绩降序排序,并显示名次,如123

成绩表中有成绩id学生id分数三个字段。我不知道按成绩排名该怎样做,怎样显示,又不能根据id来做... 成绩表中有成绩id 学生id 分数三个字段。 我不知道按成绩排名该怎样做, 怎样显示,又不能根据id来做 展开
 我来答
娱乐小八卦啊a
高粉答主

2020-05-09 · 娱乐小八卦,天天都知道
娱乐小八卦啊a
采纳数:256 获赞数:117852

向TA提问 私信TA
展开全部

SELECT

    id,

    read_total,

(

        SELECT

            COUNT(read_total)

        FROM

            t_circle_topic

        WHERE

            ct.read_total <= read_total

    ) AS rank

FROM

    t_circle_topic AS ct

ORDER BY

    read_total DESC

扩展资料

ORDER BY 语句用于对结果集进行排序。

ORDER BY 语句用于根据指定的列对结果集进行排序。

ORDER BY 语句默认按照升序对记录进行排序。

如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。

在以上的结果中有两个相等的公司名称 (W3School)。只有这一次,在第一列中有相同的值时,第二列是以升序排列的。如果第一列中有些值为 nulls 时,情况也是这样的。

lenglangzy
推荐于2017-11-25
知道答主
回答量:3
采纳率:0%
帮助的人:5.5万
展开全部
select row_number over( order by a.分数 desc) as 名次,a.学生id,a.分数 from 成绩表 a order by a.分数 desc
这样就可以了,把相应字段和表替换下
追问
我用的是mysql数据库啊,row_number 和over是什么啊
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
energy1010
2012-08-17 · TA获得超过175个赞
知道小有建树答主
回答量:85
采纳率:100%
帮助的人:30.8万
展开全部
可以写个g过程或者函数,zhe'yan这样比较简单些,若是oracle可以用游标。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
张鹏飞112122
2012-08-18
知道答主
回答量:12
采纳率:0%
帮助的人:9.3万
展开全部
select * from (表名) order by (分数的字段名) desc(降序);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式