数据库排序语句?mysql数据库,排序的语句
大家好,今天小编来为大家解答数据库排序语句这个问题,mysql数据库,排序的语句很多人还不知道,现在让我们一起来看看吧!
如何对mySQL数据库中某些特定字段进行排序
1、以日期进行排序
select
Rownum
"ID"
,
日期
,
金额,
商品
From
(select
日期,金额,商品
from
表
order
by
日期)
2、在排序后要求数据库中内容发生变化,如果不是考试的话是没人故意这么玩的。
任何对于数据的ID字段进行手工变动都是愚蠢而白痴的行为。
让然如果是老师故意考你们的话,可以用下面这个简单方法。
①建立临时表,使id字段为自增字段
create
table
tableName
(
id
INT(20)
not
null
AUTO_INCREMENT,
--自增属性
日期
char(20)
not
null,
金额
char(5)
not
null,
商品
char(2)
not
null
);
②将排好的数据插入新建的临时表
Insert
into
tableName(日期,金额,商品)
select
日期,金额,商品
from
原始表
order
by
日期
③将原表改成其他名,并将第二步建的中间表改名为原表名
alter
table
表1
rename
to
表2
我手头没有mysql只能按印象写出代码,你拿去试一下吧。
我印象中mysql对pl的支持不好,所以只给出了用sql语句的方案,你参考下吧。
mysql数据库,排序的语句
在执行查询结果时,默认情况下查询结果无序排列。但我们有时需要对数据按一定规则进行排序。这时可以通过ORDER BY子句来实现这个功能。语法如下:
SELECT<*,column [alias],...> FROM table
[WHERE condition(s)]
[ORDER BY column[ASC|DESC]];
默认是ASC指定的升序排列,DESC用来指定降序排列。
1、升序排序:
使用ORDER BY子句时,默认情况下数据是按升序排列的,故可以用ASC关键字指点升序排列,或者不指定,默认就是升序,显示效果是一样的,如下图:
2、降序排序:
当需要查询结果降序排列时,必须在排序后指定DESC关键字。如下图是查看职员薪水的降序排列:
数据库排序
和ASCII码没多大关系,数字就按大小排序,日期按顺序,字符的话也不是按ASCII码排的是按字符的顺序不过也基本遵守ASCII码。这个其实很简单你用mysql做个测试就可以了,把键盘上的字符都打一遍,字段属性设置为varchar2就OK了。
mysql针对这些基本没有什么太过于复杂的分析,如果你要用到很细的话oracle可以。
在oracle9i中新增了按照拼音、部首、笔画排序功能。设置NLS_SORT值
SCHINESE_RADICAL_M
按照部首(第一顺序)、笔划(第二顺序)排序
SCHINESE_STROKE_M按照笔划(第一顺序)、部首(第二顺序)排序
SCHINESE_PINYIN_M按照拼音排序,系统的默认排序方式为拼音排序
举例如下:
表名为 dept
,其中name字段是中文,下面分别实现按照单位名称的笔划、部首和拼音排序。
1://按照笔划排序
2: select* from dept
order by nlssort(name,'NLS_SORT=SCHINESE_STROKE_M');
3://按照部首排序
4:
select* from dept order by nlssort(name,'NLS_SORT=SCHINESE_RADICAL_M');
5:
//按照拼音排序,此为系统的默认排序方式
6: select* from dept order by
nlssort(name,'NLS_SORT=SCHINESE_PINYIN_M');
SQL按时间排序
按修改的时间倒序排列语句为:
select* from MyTable Order By ModifyTime Desc
如果只想显示最新一条,语句为:
select top 1* from MyTable Order By ModifyTime Desc
示例:
表查询结果为:
按时间排序后为:
只显示最新一条结果为:
扩展:
ORDER BY语句
ORDER BY语句用于根据指定的列对结果集进行排序。
ORDER BY语句默认按照升序对记录进行排序。
如果您希望按照降序对记录进行排序,可以使用 DESC关键字。
关于本次数据库排序语句和mysql数据库,排序的语句的问题分享到这里就结束了,如果解决了您的问题,我们非常高兴。