数据库排序

2025-02-21 08:21:49
推荐回答(3个)
回答1:

排序的命令是sort,格式是:
SORT TO 新表名 ON 字段名

补充:
例如下面的命令:
use 学生
sort on 学号 to 学生_排序
产生一个新的 学生_排序.DBF 文件,里面是排序了的。

如果你只是向按照某个标准进行排序查看一下,不生成新的文件,那么可以使用SQL语句,例如:
SELECT * FROM 学生 ORDER BY 总成绩 DESC

回答2:

select * form 学生表 order by 学号 desc|asc
desc升序 asc 降序

回答3:

和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');