对students数据库的表stu_score查询所以记录,结果按照语文成绩降序,数学成绩升序进行排列。

对students数据库的表stu_score查询所以记录,结果按照语文成绩降序,数学成绩升序进行排列。,第1张

select from stu_score order by 语文 desc, 数学;

ORDER BY子句用于根据一个或多个列以升序或降序对数据进行排序。 默认情况下,一些数据库排序查询结果按升序排列。

语法:

SELECT column-list  FROM table_name  [WHERE condition]  [ORDER BY column1, column2, columnN] [ASC | DESC];

可以在ORDER BY子句中使用多个列。 确保您使用的任何列进行排序,该列应该在列表中。

扩展资料:

常用的 T-SQL 语言:

1、分组:

group by在order by 前面。

select cname from first group by cname;

按照姓名对表格分组。

2、having 子句对分组结果再选择:

select cname from first group by cname having cname like '张%'

3、转换数据类型函数:

convert(a,b):强制类型转换

a 是要转换的数据类型,b 是被转换的数据类型

declare @number intset @number = 3 select convert(char(1),@number) as 转换后

4、聚合函数

avg,max,sum,count()

select count() as 行数,avg(convert(int,cage)) as 平均年龄,max(cbirthday) as 最晚出生年月,sum(cid) as id的和 from first

order

by

id

desc这句就是排序的,order

by

xxxxx

desc/asc

order语句是排序语句,其中的xxxxx是需要排序的字段,desc是倒序,是从大到小排序。而asc是正序,是从小到大的。

你可以根据需要自行设置order语句,其中xxxxx可以有多个字段,中间用逗号分开,按第一个排序后,如果有第一个字段的直相同的,那么就接着再按照第二个字段进行排序,也就是说,前面的优先排序,如果中间有相同的,就把相同的按照第二个字段接着排序,以此论推。

先Union,再Order by

select

from t1

where 名字='王艳'

union all

select

from t2

where 名字='王艳'

order by 时间

cnki检索结果排序方式是发表时间、相关度、被引频次、下载频次。

cnki即中国知网,中国知网是中国学术期刊电子杂志社编辑出版的全文数据库为核心的数据库。其检索的结果方式是发表时间、相关度、被引频次、下载频次。

中国知网CNKI是中国最大的文献数据库服务商,用户遍布高校、公共图书馆和各类信息机构。

将字段依次写在order by 后面即可 , 中间用逗号隔开。

view plaincopy to clipboardprint

select  from 表 order by time , name  

select  from 表 order by time asc , name asc  

select  from 表 order by time desc , name desc  

select  from 表 order by time asc , name desc  

select  from 表 order by time desc , name asc

(注: asc 表示升序 , desc表示降序 , 未明确写明排序方式时默认是升序)

与之类似的语法是 group by , 按多个字段分组时 , 也是依次将多个字段写在group by 的后面 , 并用逗号隔开 , 范例如下:

view plaincopy to clipboardprint

select time , name , sum() from 表 group by time , name

不知道你的数据库是什么,如果是oracle的话,你用start with connect by试试。我不太确定能不能直接出来你要的效果。如果出不来,那么用start with connect by+union all+条件判断(分别写每一个level=1的情况)应该可以,不过如果level=1有很多个,那么就麻烦了。

还有一种办法是利用字符串排序。比如1-1-1-2,1-2-1-2,1-1-1-3,那么排完序之后应该是1-1-1-2,1-1-1-3,1-2-1-2至于这个参数的出来方法就要去凑了。因为我担心还有例如1-1-1-2-1这样的,如果存在这样的,那么按照你的要求排序应该是

1-1-1-2,1-1-1-2-1,1-1-1-3,1-2-1-2,可是如果按照数字排序那么1-1-1-2-1肯定在最后,所以用字符排序可能才能达到你的要求。(还是用start with connect by)

比如这里最后的编码为

Level层数 父件代号 子件代号 子件顺序 编码

1 root C 1 1-1

1 root D 2 2-1

1 root F 3 3-1

2 C A 1 1-1-2-1

2 C B 2 1-1-2-2

2 D E 1 2-1-2-1

我这里没有环境,没办法测试,所有的内容均为猜想,仅供参考。

没有合并,但是有个方法可以模拟合并,实现你的功能,就是创建一个视图(View)

比如:有两个表

A,B

他们第一个字段分别是

Snumb和

Cnumb(编号),然后现在把两边合起来,放在一个视图下面,进行排序(两个表,分别有,编号字段,姓名字段,成绩字段(模拟))

create

view

view1

as

select

from

A,B

where

Snumb=Cnumb

执行上面

然后继续查询视图,并按成绩排序

select

from

view1

order

by

score(成绩)

desc就可以了

不知道是不是楼主需要的,希望帮到你

以上就是关于对students数据库的表stu_score查询所以记录,结果按照语文成绩降序,数学成绩升序进行排列。全部的内容,包括:对students数据库的表stu_score查询所以记录,结果按照语文成绩降序,数学成绩升序进行排列。、asp显示sql数据库结果后怎么排序、数据库多表查询结果如何排序等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9330400.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存