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
你如果从1234这么传的话你就会发现10排在1后面然后是100然后是1000。你可以尝试从0001开始传,这样传到1000就在后面了。如果要传到10000那第一个就00001开始。道理很简单。它没有你那么聪明。
数据库表内的记录存储方式是内部行为,通常为了索引方便,并不会按照你需要的排序方式存储的,但是从来没人管过它是怎么存的,因为你只需要用SQL语句取出来用的时候设置一下排序就行了(order by),如果要倒序排列,就用order by {时间类型字段名} desc另外如果你的数据库是oracle,可以用to_char({时间类型字段名},'YYYY/MM/DD HH24:MI:SS')获得你要求格式的时间信息
当字段类型是本文时,
排序方法会一个字元一个字元比较
1
=>
'1'
2
=>
'2'
10
=>
'10'
'2'
>
'10'
因为比较时先比较两个文字的第一个字元,
'2'
>
'1'
所以
'2'
>
'10'
所以在编写数据时
'1'
=>
'0001'
'2'
=>
'0002'
'10'
=>
'0010'
'100'
=>
'0100'
这样子排序就会如你预期的顺序
或者如楼上所言,把字段类型换成数字型就可以了
1:用ASCII码排序,DB2应该有这个函数吧,ASCII()?
2:加个int类型的对照字段,'1'->1,'2'->2 'a'->97,'b'->98。
3:写个自定义函数也可以。
要在 SQL Server 2000 中转换数据库的排序规则,请按照下列步骤 *** 作:
1 备份源数据库。
2 注意所有列是否使用 COLLATE 子句。
3 使用适当的排序规则在目标服务器上创建新的数据库。
4 如果没有列使用 COLLATE 子句,请使用 DTS 将数据传输到目标服务器。为此,请启用“使用排序规则”选项以进行代码页转换,并将数据转换为目标数据库上的新排序规则。如果所有列均使用 COLLATE 子句,请按照下列步骤 *** 作:
a 为所有对象(不包括索引、触发器、主键、外键、默认设置和约束)生成脚本。此外,确保启用了“仅为与 70 版兼容的功能编写脚本”选项,以便从脚本删除 COLLATE 子句。
注意:使用“仅为与 70 版兼容的功能编写脚本”选项时,可以更改排序规则。但是,生成脚本时将不考虑任何新的 SQL Server 2000 选项(包括用户定义的函数、扩展属性、INSTEAD OF 触发器和视图上的索引)。
b 在目标数据库上运行步骤 a 中创建的脚本,以便使用目标数据库的排序规则创建对象。
c 使用 DTS 仅传输源数据库中的数据。
d 成功传输数据后,将会为源数据库中的所有约束、外键、主键和索引生成脚本。
e 在目标数据库上运行步骤 d 中创建的脚本。
更改 master 数据库的排序规则
如果要更改 master 数据库的排序规则,则必须重建 master 数据库。在重建 master 数据库时,实质上是创建了新的 master 数据库。因此,重建 master 数据库之前,应考虑下列事项:
确保创建了当前 master 数据库的有效备份。在重建 master 数据库时,还会重建 msdb 数据库和 model 数据库。因此,在重建 master 数据库之前必须备份 msdb 数据库和 model 数据库。msdb 数据库是用于存储 SQL Server 作业、警报、运算符和 DTS 包的系统数据库。model 数据库是创建新数据库时所使用的模板数据库。
因为重建 master 数据库会创建一个新的 master 数据库,所以必须在重建 master 数据库之后重新输入现有登录信息。因此,还必须在重建 master 数据库之前导出登录信息,然后在重建 master 数据库后,导入登录信息。
因为在重建 master 数据库时会重建 msdb 数据库,所以在重建 master 数据库之前,必须为所有作业、警报和运算符生成脚本。此外,还必须确保移动了所有 DTS 包。
因为在重建 master 数据库时会重建 model 数据库,所以在重建 master 数据库之前,必须记下或导出以前对 model 数据库所做的全部更改或为其生成脚本。重建 model 数据库之后,请重新应用已记录的全部更改。
2、选择数据库对象中,选择编写整个数据库及所有数据库对象的脚本
3、生成脚本选项是关键,如果不想丢掉触发器,主外键,看我的截图配置,我的是08数据库和05的界面有所不同
4、然后把脚本保存下来,在你另外一台环境正确的数据库上面执行该脚本,生成一个空库。
数据从老库导入新库中
6、导入数据唯一要注意的一个是事项是记得在导入的传输设置中,全选所有数据库表,点击编辑映射
这里有三个选项,我个人勾选了启用标识插入,其余没选。至于这三个选项看个人需要了。
7、数据传输完毕后,赶紧用新库把业务跑一遍,看看有么有问题,没有就把老库的那台机器数据库及数据库程序干掉,
重装一下数据库,重装的时候记得选对语言和排序了。
简体中文,一般默认是Chinese_PRC_CI_AS。
以上内容,可能不是适合所有情况,大家参考下,觉得有用就顶一把。
以上就是关于对students数据库的表stu_score查询所以记录,结果按照语文成绩降序,数学成绩升序进行排列。全部的内容,包括:对students数据库的表stu_score查询所以记录,结果按照语文成绩降序,数学成绩升序进行排列。、怎么让access数据库按照某个字段自动排序,那个字段当然是数字类型、如何实现数据库中记录按照时间列的时间顺序排列等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)