求一sql语句使数据按 where in 括号内的数据顺序排列

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了求一sql语句使数据按 where in 括号内的数据顺序排列相关的知识,希望对你有一定的参考价值。

select * from para where bh in('1','2','4','7','8','11','10') 求一sql语句 使上述查询结果按括号内bh顺序排列 access库

参考技术A 看了你要求,我重新给你改了一下,这句就可以达到
你的要求
:select
*
from
para
where
bh
in('1','2','4','7','8','11','10')
order
by
CONVERT(char(10),bh)
asc
你试试,应该是可以的,按
字符
排序,char(10)这个
大小
根据你数据多少,不需要这么大,就
小点
,也可以用varchar(10)。
不明白可以继续问

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

成绩表中有成绩id 学生id 分数三个字段。 我不知道按成绩排名该怎样做, 怎样显示,又不能根据id来做

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

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

我用的是mysql数据库啊,row_number 和over是什么啊

本回答被提问者采纳
参考技术B 可以写个g过程或者函数,zhe'yan这样比较简单些,若是oracle可以用游标。 参考技术C select * from (表名) order by (分数的字段名) desc(降序);

以上是关于求一sql语句使数据按 where in 括号内的数据顺序排列的主要内容,如果未能解决你的问题,请参考以下文章

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

sql语句中where后边的哪些条件会使索引失效 -- SQL语句优化

数据库 t-sql 语句

sql语句 删除某字段中一个数据

SQL基本语句

java 按日期分组 算法