當前位置:首頁 » 編程語言 » 排序類型預設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