sql搜尋排序前十的資料 SQL 排序檢索資料

2021-10-18 00:04:47 字數 1821 閱讀 6534

使用select語句中的order by子句排序檢索資料。

1、單列排序檢索

order by 列名;

eg:從產品表中查詢產品名並按公升序排列

輸入:select prod_name

from products

order by prod_name;

輸出:

注:order by必須為select語句的最後一條子句

2、多列排序檢索

order by 列名1,列名2,……

多列排序時,先按第乙個列排序,對於第乙個列中相同的行,按第二個列排序,以此類推。

eg:從產品表中查詢產品id、產品**和產品名稱,並先對產品**公升序排列,再對產品名稱公升序排列。

輸入:select prod_id,prod_price,prod_name

from products

order by prod_price,prod_name;

輸出:

本例中,只對相同產品**的行按產品名稱公升序排列

3、按列位置排序

order by子句除了用列名指出排序順序外,還可以按select後面列的相對位置排序。當排序的列不出現在select清單中時,不能採用這種方法 。

eg:從產品表中查詢產品id、產品**和產品名稱,並先對產品**公升序排列,再對產品名稱公升序排列。

輸入:select prod_id,prod_price,prod_name

from products

order by 2,3; -- 2,3表示先按**排序,再按產品名排序

輸出:

4、指定排序方向

order by預設公升序排列(從a到z),因此公升序關鍵字asc可有可無。若需降序排列,需指定關鍵字desc。

order by 列名 desc;

e:1:從產品表中查詢產品id、產品**、和產品名稱,並按產品**降序排列。

輸入:select prod_id,prod_price,prod_name

from products

order by prod_price desc;

輸出:

desc關鍵字只作用在其前面的列名,當需要對多個列排序時,需要在每個列後加入關鍵字(公升序可省略)。

eg2:從產品表中查詢產品id、產品**、和產品名稱,並先按產品**降序排列,再按產品名稱公升序排列。

輸入:select prod_id,prod_price,prod_name

from products

order by prod_price desc,prod_name;-- 產品**為降序,產品名稱為公升序

輸出:

5、sql執行順序

分享即學習,我會不定時的分享一些成長乾貨,包括學習方法、軟體技能、優質書單/電影以及大學期間的經歷。

排名前十的SQL和NoSQL資料庫

原文連線 本排名根據db engines的排行榜得來,該排行榜從人氣上分析了市場上200個不同的資料庫,這裡一覽top 10。oracle mysql及microsoft sql server一直以絕對的優勢霸佔著排行榜的前三名,以獨特的優勢瓜分了市場上最多的使用者。1.oracle 11g 首次發...

SQL語句(十)查詢結果排序

例1 查詢航天班的學生的姓名 年齡 按年齡從小到大排序 公升序 select sname,sage from student where sclass 航天 order by sage asc 降序 asc 改成 desc 例2 查詢航天的學生資訊按年齡從大到小排序 降序 年齡相同時按學號公升序排列...

SQL 排序檢索資料

select prod name from products 返回的資料 prod name fish bean bag toy bird bean bag toy rabbit bean bag toy 8 inch teddy bear 12 inch teddy bear 18 inch te...