sql對查詢結果排序
A. sql查詢結果怎麼按指定列數依次排列
with tmp as
(
select row_number() over(order by FENTRYID) rn,FENTRYID
from 表
)
select t1.FENTRYID as FENTRYID1,t2.FENTRYID as FENTRYID2,t3.FENTRYID as FENTRYID3
from tmp t1
left join tmp t2 on t2.rn=t1.rn+1
left join tmp t3 on t3.rn=t1.rn+2
where t1.rn%3=1
order by t1.FENTRYID
這是轉成3列的,如果列數要變化,上面的語句要調整
B. 關於SQL SERVER查詢之後排序問題!
用order
by,給你個例子
你看看
就明白了:
SELECT
au_lname
FROM
authors
ORDER
BY
au_lname
當這個SELECT語句執行時,作者名字的顯示將按字母順序排列。ORDER
BY子句將作者名字按升序排列。
你也可以同時對多個列使用ORDER
BY子句。例如,如果你想同時按升序顯示欄位au_lname和欄位au_fname,你需要對兩個欄位都進行排序:
SELECT
au_lname,au_fname
FROM
authors
ORDER
BY
au_lname
,au_fname
這個查詢首先把結果按au_lname欄位進行排序,然後按欄位au_fname排序。記錄將按如下的順序取出:
au_lname
au_fname
…………………………………………………………………….
Bennet
Abraham
Ringer
Albert
Ringer
Anne
Smith
Meander
…
(23
row(s)
affected)
注意有兩個作者有相同的名字Ringer。名為Albert
Ringer的作者出現名為Anne
Ringer的作者之前,這是因為姓Albert按字母順序應排在姓Anne之前。
如果你想把查詢結果按相反的順序排列,你可以使用關鍵字DESC。關鍵字DESC把查詢結果按降序排列,如下例所示:
SELECT
au_lname,au_fname
FROM
authors
WHERE
au_lname=」Ringer」
ORDER
BY
au_lname
,au_fname
DESC
這個查詢從表authors中取出所有名字為Ringer的作者記錄。ORDER
BY子句根據作者的名字和姓,將查詢結果按降序排列。結果是這樣的:
au_lname
au_fname
……………………………………………………………………………………….
Ringer
Anne
Ringer
Albert
(2
row(s)
affectec)
注意在這個表中,姓Anne出現在姓Albert之前。作者名字按降序顯示。
你也可以按數值型欄位對一個查詢結果進行排序。例如,如果你想按降序取出所有書的價格,你可以使用如下的SQL查詢:
SELECT
price
FROM
titles
ORDER
BY
price
DESC
這個SELECT語句從表中取出所有書的價格,顯示結果時,價格低的書先顯示,價格高的書後顯示。
C. 如何對sql檢索出的數據進行多列排序
SQL多列排序可以在ORDER BY 子句里列出多個列進行排序,列與列之間用逗號隔離,標注關鍵字ASC為升序排序、DESC為降序排序,省略升/降排序關鍵字則默認為升序排序。排序欄位列表中越靠前的欄位其排序優先順序別越高。請注意對SQL語句除了對列實施排序外,還可以對基於列的計算表達式實施排序。
請參考下列SQL多列排序語句:
select * from t1 order by col1,col5 desc,col3;
此例以col1第一優先升序排序,col5第二優先降序排序,col3第三優先升序排序。
D. 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 默認為升序*/
(4)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
E. sql查詢結果進行多欄位的排序
sql 使用order by 排序
select * from table order by value1,value2 根據欄位value1和value2排序,默認是升序 select * from table order by value1,value2 desc 按照降序排序
F. 在sql 語言中,對輸出結果排序的是( ) A.order by B.where C.group by D.having
在sql語言中,對輸出結果排序的是order by。
SQL語言中,ORDER BY 語句用於對結果集進行排序。ASC:升序(默認),DESC:降序。ORDER BY 語句默認按照升序對記錄進行排序。如果希望按照降序對記錄進行排序,可以使用 DESC 關鍵字。ORDER BY 子句為Previous PageNext Page。
(6)sql對查詢結果排序擴展閱讀:
ORDER BY 多列的時候,先按照第一個column name排序,再按照第二個column name排序。使用desc或者asc排序符時,只對它緊跟著的第一個列名有效,其他不受影響,仍然是默認的升序。
在Order by 時認為null是最大值,如果Order by 中指定了表達式Nulls first則表示null值的記錄將排在最前(不管是asc 還是 desc),如果Order by 中指定了表達式Nulls last則表示null值的記錄將排在最後 (不管是asc 還是 desc)。