当前位置:首页 » 编程语言 » 排序类型缺省sql
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

排序类型缺省sql

发布时间: 2022-07-13 08:58:13

A. sql查询结果加入排序值的问题

select *
from 表
order by (select case sunxun when 'A' then 3 when 'B' then 1 when 'C' then 2 when 'D' then 4 end)

试试吧,SQL SERVER适用。
两表联合查询,再排下序就行了INNER JOIN 运算
组合两个表中的记录,只要在公共字段之中有相符的值。

语法
FROM table1 INNER JOIN table2 ON table1.field1 compopr table2.field2

INNER JOIN 运算可分为以下几个部分:

部分 说明
table1, table2 记录被组合的表的名称。
field1, field2 被联接的字段的名称。若它们不是由数字构成的,则这些字段必须为相同的数据类型并包含同类数据,但它们无须具有相同的名称。
compopr 任何的关系比较运算子:"=," "<," ">," "<=," ">=," 或 "<>."

说明
可以在 FROM 子句中使用INNER JOIN运算。.这是最普通的联接类型。只要在这两个表的公共字段之中有相符值,内部联接将组合两个表中的记录。

可以使用 INNER JOIN 与部门表及员工表选择每一个部门中的全部员工。反之,可以使用 LEFT JOIN或 RIGHT JOIN运算创建 outer join,从而选择所有部门(即使有些并没有员工)或所有员工(即使有些尚未分配到部门)。

若试图联接包含 Memo或 OLE Object数据的字段,会导致错误。

可以联接任何两个相同类型的数值字段。例如,可以联接 AutoNumber和 Long字段,因为它们类型相似。但不能联接 Single 和 Double 类型的字段。

下列示例显示如何在类标识符字段联接类表及产品表:

SELECT CategoryName, ProctName

FROM Categories INNER JOIN Procts

ON Categories.CategoryID = Procts.CategoryID;

在上面的示例中,类标识符是已被联接的字段,但是它并不包含在查询输出中,因它并非被包含在 SELECT 语句之中。在这个示例中,若要包含联接字段,将字段名包含在 SELECT 语句中, Categories.CategoryID.

也可以使用下列语法,在一个 JOIN 语句中链接多个 ON 子句:

SELECT fields
FROM table1 INNER JOIN table2
ON table1.field1 compopr table2.field1 AND
ON table1.field2 compopr table2.field2) OR
ON table1.field3 compopr table2.field3)];

也可以使用下列语法,嵌套 JOIN 语句:

SELECT fields
FROM table1 INNER JOIN
(table2 INNER JOIN [( ]table3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
ON table3.field3 compopr tablex.fieldx)]
ON table2.field2 compopr table3.field3)
ON table1.field1 compopr table2.field2;

在一个 INNER JOIN 之中,可以嵌套 LEFT JOIN 或 RIGHT JOIN,但是在 LEFT JOIN 或 RIGHT JOIN 中不能嵌套 INNER JOIN。
--------------------------------------------
ORDER BY 子句
按照递增或递减顺序在指定字段中对查询的结果记录进行排序。

语法
SELECT 字段表
FROM 表
WHERE选择准则
[ORDER BY字段1 [ASC | DESC ][, 字段2 [ASC | DESC ]][, ...]]]

包含 ORDER BY 子句的 SELECT 语句具有以下几个部分:

部分 说明
fieldlist 要和任何字段名别名, SQL 合计函数s, 选择断定 (ALL, DISTINCT, DISTINCTROW或 TOP)或其他 SELECT 语句 选择一起检索的字段名称。
table 从其中获取记录的表的名称。欲知更多信息请看 FROM 子句.
selectcriteria 选择准则。如果此 语句 包含一个 WHERE 子句, Microsoft Jet数据库引擎 会在记录上应用WHERE条件,然后把值排序。
field1, field2 要排序记录的字段名。

说明
ORDER BY 是可选的。不过,如果要将数据以排序时的顺序显示出来,就必须使用 ORDER BY。

缺省排序顺序是升序 (A至 Z, 0至 9).以下两个示例都用雇员的姓对雇员姓名排序:

SELECT LastName, FirstName

FROM Employees

ORDER BY LastName;

SELECT LastName, FirstName

FROM Employees

ORDER BY LastName ASC;

为按递减顺序排序(Z 至 A,9 至0),必须将 DESC 保留字添加到要递减排序的每一字段的尾部。下例选择雇员薪金并对雇员用递减顺序排序。

SELECT LastName, Salary

FROM Employees

ORDER BY Salary DESC, LastName;

如果你在ORDER BY 子句中标明了包含 Memo或 OLE Object数据的一个字段,一个错误就产生了。Microsoft Jet 数据库引擎不对这些类型的字段排序。

ORDER BY通常是 SQL 语句中最后一项。

ORDER BY 子句可包含添加的字段。首先用 ORDER BY之后列举的第一个字段对记录排序。然后对此字段中等值的记录用第二字段列举的值进行排序,依此类推。

B. SQL 字节类型 排序问题

select * from your_table order by to_number(your_string_column);

C. 如何用SQL语句修改字段的排序规则

SQL排序子句的语法是:ORDER
BY
{column_name
[ASC|DESC]}
[,…n]
大括号{}的内容表示是必有的内容(这里应该是你提问的内容)
中括号[]表示的是可选的内容
连接符|连接的是任意有一个的内容
例如:order
by
seq_id;--seq_id假设是表中的序号字段,这样是缺省按asc顺序排序
order
by
seq_id
desc;--显式指定排序的方式,desc降序排序
order
by
1;--按输出结果集的第一个字段,缺省按asc顺序排序
order
by
1,3
desc,5;--按输出结果集的第一个字段,缺省按asc顺序排序;第3个字段,显式明确按降序排序;第5个字段,缺省按asc顺序排序

D. SQl 中的排序规则什么意思

什么叫排序规则呢?MS是这样描述的:"在 Microsoft SQL Server 中,
字符串的物理存储由排序规则控制。排序规则指定表示每个字符的位模式以及存
储和比较字符所使用的规则。"
在查询分析器内执行下面语句,可以得到SQLSERVER支持的所有排序规则。
select * from ::fn_helpcollations()
排序规则名称由两部份构成,前半部份是指本排序规则所支持的字符集。
如:
Chinese_PRC_CS_AI_WS
前半部份:指UNICODE字符集,Chinese_PRC_指针对大陆简体字UNICODE的排序规则,按拼音排序。
Chinese_PRC_Stroke 表示按汉字笔画排序;
排序规则的后半部份即后缀 含义:
_BIN 二进制排序
_CI(CS) 是否区分大小写,CI不区分,CS区分(case-insensitive/case-sensitive)
_AI(AS) 是否区分重音,AI不区分,AS区分(accent-insensitive/accent-sensitive)
_KI(KS) 是否区分假名类型,KI不区分,KS区分(kanatype-insensitive/kanatype-sensitive)
_WI(WS) 是否区分宽度 WI不区分,WS区分(width-insensitive/width-sensitive)
区分大小写:如果想让比较将大写字母和小写字母视为不等,请选择该选项。
区分重音:如果想让比较将重音和非重音字母视为不等,请选择该选项。如果选择该选项,
比较还将重音不同的字母视为不等。
区分假名:如果想让比较将片假名和平假名日语音节视为不等,请选择该选项。
区分宽度:如果想让比较将半角字符和全角字符视为不等,请选择该选项。

E. 求多表查询,多列排序,的SQL语句

INNER JOIN 运算
组合两个表中的记录,只要在公共字段之中有相符的值。

语法
FROM table1 INNER JOIN table2 ON table1.field1 compopr table2.field2

INNER JOIN 运算可分为以下几个部分:

部分 说明
table1, table2 记录被组合的表的名称。
field1, field2 被联接的字段的名称。若它们不是由数字构成的,则这些字段必须为相同的数据类型并包含同类数据,但它们无须具有相同的名称。
compopr 任何的关系比较运算子:"=," "<," ">," "<=," ">=," 或 "<>."

说明
可以在 FROM 子句中使用INNER JOIN运算。.这是最普通的联接类型。只要在这两个表的公共字段之中有相符值,内部联接将组合两个表中的记录。

可以使用 INNER JOIN 与部门表及员工表选择每一个部门中的全部员工。反之,可以使用 LEFT JOIN或 RIGHT JOIN运算创建 outer join,从而选择所有部门(即使有些并没有员工)或所有员工(即使有些尚未分配到部门)。

若试图联接包含 Memo或 OLE Object数据的字段,会导致错误。

可以联接任何两个相同类型的数值字段。例如,可以联接 AutoNumber和 Long字段,因为它们类型相似。但不能联接 Single 和 Double 类型的字段。

下列示例显示如何在类标识符字段联接类表及产品表:

SELECT CategoryName, ProctName

FROM Categories INNER JOIN Procts

ON Categories.CategoryID = Procts.CategoryID;

在上面的示例中,类标识符是已被联接的字段,但是它并不包含在查询输出中,因它并非被包含在 SELECT 语句之中。在这个示例中,若要包含联接字段,将字段名包含在 SELECT 语句中, Categories.CategoryID.

也可以使用下列语法,在一个 JOIN 语句中链接多个 ON 子句:

SELECT fields
FROM table1 INNER JOIN table2
ON table1.field1 compopr table2.field1 AND
ON table1.field2 compopr table2.field2) OR
ON table1.field3 compopr table2.field3)];

也可以使用下列语法,嵌套 JOIN 语句:

SELECT fields
FROM table1 INNER JOIN
(table2 INNER JOIN [( ]table3
[INNER JOIN [( ]tablex [INNER JOIN ...)]
ON table3.field3 compopr tablex.fieldx)]
ON table2.field2 compopr table3.field3)
ON table1.field1 compopr table2.field2;

在一个 INNER JOIN 之中,可以嵌套 LEFT JOIN 或 RIGHT JOIN,但是在 LEFT JOIN 或 RIGHT JOIN 中不能嵌套 INNER JOIN。
--------------------------------------------
ORDER BY 子句
按照递增或递减顺序在指定字段中对查询的结果记录进行排序。

语法
SELECT 字段表
FROM 表
WHERE选择准则
[ORDER BY字段1 [ASC | DESC ][, 字段2 [ASC | DESC ]][, ...]]]

包含 ORDER BY 子句的 SELECT 语句具有以下几个部分:

部分 说明
fieldlist 要和任何字段名别名, SQL 合计函数s, 选择断定 (ALL, DISTINCT, DISTINCTROW或 TOP)或其他 SELECT 语句 选择一起检索的字段名称。
table 从其中获取记录的表的名称。欲知更多信息请看 FROM 子句.
selectcriteria 选择准则。如果此 语句 包含一个 WHERE 子句, Microsoft Jet数据库引擎 会在记录上应用WHERE条件,然后把值排序。
field1, field2 要排序记录的字段名。

说明
ORDER BY 是可选的。不过,如果要将数据以排序时的顺序显示出来,就必须使用 ORDER BY。

缺省排序顺序是升序 (A至 Z, 0至 9).以下两个示例都用雇员的姓对雇员姓名排序:

SELECT LastName, FirstName

FROM Employees

ORDER BY LastName;

SELECT LastName, FirstName

FROM Employees

ORDER BY LastName ASC;

为按递减顺序排序(Z 至 A,9 至0),必须将 DESC 保留字添加到要递减排序的每一字段的尾部。下例选择雇员薪金并对雇员用递减顺序排序。

SELECT LastName, Salary

FROM Employees

ORDER BY Salary DESC, LastName;

如果你在ORDER BY 子句中标明了包含 Memo或 OLE Object数据的一个字段,一个错误就产生了。Microsoft Jet 数据库引擎不对这些类型的字段排序。

ORDER BY通常是 SQL 语句中最后一项。

ORDER BY 子句可包含添加的字段。首先用 ORDER BY之后列举的第一个字段对记录排序。然后对此字段中等值的记录用第二字段列举的值进行排序,依此类推。

F. sql里的排序倒序的命令是order by什么

order by [列名] desc
desc 就代表倒序
asc 代表升序
缺省值也为升序
请采纳!

G. SQL查询语句默认排序规律

select
a.*,b.*
(可以选择字段名称,注意两个表中重名的字段一定要加a.或b.,其他不重名的可以不加,但是为了以后的拓展,最好都加)
from
[表A]
as
a
left
join
[表B]
as
b
on
a.$key=b.key
order
by
b.cid
desc
(这样的话当b表中的b.key不在a表中的时候,b.*的字段都是空的,如果想改成你期望的类型,可以使用isnull函数,比如isnull(b.key,0)或
isnull(b.key,'无').

H. sql中order by和group by的区别

1、意思不一样。

order by 是指从英文里理解就是行的排序方式,默认的为升序。后面必须列出排序的字段名,可以是多个字段名。

group by 是指从英文里理解就是分组。必须有“聚合函数”来配合才能使用,使用时至少需要一个分组标志字段。

2、适用范围不同:order by 用于排序,一般与asc升序或desc降序一起使用。例如select * from 表A order by 列a。

group by 用于分类汇总,一般与聚合函数(比如avg平均、sum合计、max最大、min最小、count计算行)一起使用。例如select 月份,sum(工资)as 总工资 from 工资表 group by 月份。

3、定义不同:order by主要侧重许多数据的排序,例如按照大小顺序对数据进行排列,group by主要侧重许多数据的分组,例如按照性别、年龄、国家、学科等进行分组。

4、使用的函数不一样。

order by子句中的列必须包含在聚合函数或 GROUP BY 子句中。

group by 子句中可使用的函数AVG() 、MIN() 、 MAX() 、SUM() 、COUNT() 。

5、order by从英文里理解就是行的排序方式,默认的为升序。order by后面必须列出排序的字段名,可以是多个字段名。

group by从英文里理解就是分组。必须有“聚合函数”来配合才能使用,使用时至少需要一个分组标志字段。

(8)排序类型缺省sql扩展阅读

Microsoft Jet数据库引擎SQL 数据类型 由13个基本数据类型组成,它们是由 Microsoft Jet 数据库引擎和几个验证过的有效同义字定义的。常见的有:整形,单精度,双精度,可变长度字符,固定长度字符,长型,日期等等。

可以用ALTER TABLE 语句修正基数和增量。刚插进表中的行会有自动为基于新种值和增量值的列生成的值。如果新种和增长的值和以前的种值及增量匹配,就会造成复制。如果这个列是主键,复制值生成时可能导致错误。

定义成TEXT也称作MEMO)或CHAR(也称作有具体长度的 TEXT(n))的字段中的字符被储存在 Unicode 表示格式。

Unicode字符一律需要两个字节存储每一字符。对于现有的主要包含字符数据的 Microsoft Jet数据库,这可能意味着数据库文件被转换成 Microsoft Jet 4.0格式时字长会增加将近一倍。

然而,从前由单字节字符群(SBCS)指示的众多字符群的Unicode 表示可以很容易地被压缩成一个单字节。有关的详细信息,参见CREATE TABLE。如果用COMPRESSION属性定义CHAR列,数据存储时会自动被压缩,提取时解压缩。

I. SQL 语句复杂排序查询问题

order by 可以跟case语句,你用case语句把规则写出来就行,比如:

order by (case when column3 is null then (column2+3) else column3 end)

请根实际体情况和排序规则改写…

J. sql 升序降序排列

降序:SELECT * FROM kc ORDERBYcpbh DESC

升序:SELECT * FROM kc ORDERBYcpbhASC

语法:

sql可以根据字段进行排序,其中,DESC表示降序,ASC表示升序

order by 字段名 DESC;按照字段名降序排序

order by 字段名 ASC;按照字段名升序排序

实例:

一、/*查询学生表中姓名、学号,并以学号降序排序*/

select name,StuID from Students_information order by StuID desc /**order by 以什么排序,默认为升序,desc是降序*/

二、/*查询学生表中前5名学生的姓名,学号,并以学号升序排列*/

select top 5 name,StuID from Students_information order by StuID /*order by 默认为升序*/

(10)排序类型缺省sql扩展阅读

一、ORDER BY 语句

ORDER BY 语句用于根据指定的列对结果集进行排序。

ORDER BY 语句默认按照升序对记录进行排序。

如果您希望按照降序对记录进行排序,可以使用 DESC 关键字。

二、SQL 排序多个字段

order by 多个字段,每个字段后面都有排序方式,默认ASC

例如:select table a order by a.time1 ,a.time2 desc,a.time3 asc