SQL語句排序的問題

時間 2021-10-14 22:24:01

1樓:匿名使用者

你的寫法是錯誤的,按照你的寫法在對n進行降序排序時,第乙個m公升序排序結果會失效,等於最終唯讀n做了降序排序,而且你的語句本身也比較冗餘。

正確的寫法是:

select * from a order by m asc ,n desc;

我們可以通過一些例項來具體分析order by 子句的用法:

假設有orders 表:

1、例項 1

以字母順序顯示公司名稱:

select company, ordernumber from orders order by company

結果如下:

2、例項 2

以字母順序顯示公司名稱(company),並以數字順序顯示順序號(ordernumber):

select company, ordernumber from orders order by company, ordernumber

結果如下:

3、例項 3

以逆字母順序顯示公司名稱:

select company, ordernumber from orders order by company desc

結果如下:

4、例項 4

以逆字母順序顯示公司名稱,並以數字順序顯示順序號:

select company, ordernumber from orders order by company desc, ordernumber asc

結果如下:

注意:在以上的結果中有兩個相等的公司名稱 (w3school)。只有這一次,在第一列中有相同的值時,第二列是以公升序排列的。如果第一列中有些值為 nulls 時,情況也是這樣的。

2樓:匿名使用者

應該是這樣吧:

select * from a order by m,n desc意思是,優先安裝m公升序排序,對於m相同的資料,按照n降序排序你自己的寫法的意思是:

先按公升序排序,然後對查詢結果再按降序排序;其結果是按照降序排序。

就是說,你第一次排序是不需要的。

你的寫法適合於分頁查詢,然後按照降序展示資料的情況。

3樓:普實軟體

1、公升序排列【order by】

select studentid,score  from score  order by score

select studentid as 學生編號,(score*0.9+5) as 綜合成績

from score

where (score*0.9+5)>60

order by score

2、降序排列【desc】

select studentid,score  from score  order by score desc

3、按多列排序

select studentid as 學生編號, courseid as 課程id, score as 成績

from score

where score > 60

order by courseid, score

4樓:叮噹貓武漢

公升序是 asc,降序是 desc

select * from a order by m asc,n desc

5樓:乙隻小背婁

首先你要讀出的字段要知道

比如你只讀出title就不需要用select *了這樣會增加檢索時間你可以寫成

select 欄位1,欄位2,欄位3,欄位4像這樣字段就是你要用的

如果你是主題列表我想沒有必要讀出內容吧對不對這樣可以大大減少檢索時間提交讀庫速度從而起到優化作用

6樓:枝茉喬傲絲

要第行第二行挨著

共同屬性

用order

byplace,beforegrouping排序結第1行01

1第4行021

第3行01

2第2行022

排序要行

必須要第三列

引數確定誰

誰挨著說

誰誰挨著

共某屬性共屬性

靠第三列完否則

邏輯說通比

屬性列叫作組別

:order

by組別,beforegrouping,place查詢結:

組別beforegrouping

place101

11022

20122021

SQL語句問題,SQL語句問題

select identity int,1,1 as newid,sale.prtid as id,products.prtname as 商品名稱,sum sale.prtnum as 銷售總量 into a from sale,products where sale.prtid products...

sql多欄位排序問題,sql多欄位排序問題

sql select from test order by a b c,a,b,c a b c 0 0 1 0 1 0 1 0 0 0 1 1 1 0 1 1 1 0 6 rows selected.sql select from test a b c 0 1 0 1 0 0 0 1 1 1 0 1...

資料庫排序問題寫出sql語句,資料庫排序問題(寫出SQL語句)

du瓶邪 將字段依次寫在order by 後面即可 中間用逗號隔開。view plaincopy to clipboardprint?select from 表 order by time name select from 表 order by time asc name asc select fr...