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

2024-11-18 14:49:22
推荐回答(4个)
回答(1):

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 时,情况也是这样的。

回答(2):

select row_number over( order by a.分数 desc) as 名次,a.学生id,a.分数 from 成绩表 a order by a.分数 desc
这样就可以了,把相应字段和表替换下

回答(3):

可以写个g过程或者函数,zhe'yan这样比较简单些,若是oracle可以用游标。

回答(4):

select * from (表名) order by (分数的字段名) desc(降序);