自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一個SQLite數(shù)據(jù)庫的ORDER BY和GROUP BY代碼實例

數(shù)據(jù)庫 其他數(shù)據(jù)庫
本文主要介紹了SQLite數(shù)據(jù)庫中ORDER BY和GROUP BY語句的使用代碼實例,希望能對讀者有所收獲。

SQLite數(shù)據(jù)庫中,提供了和SQL Server一樣的排序和分組的ORDER BYGROUP BY語句,以及DISTINCT的使用,本文介紹了這一部分使用的代碼實例,接下來我們就一一介紹。

排序ORDER BY 列 ASC (DESC)

指定某個列進行排序,ASC 為升序,DESC 為降序。下面的語句查詢汽車品牌和價格,并以價格排序。代碼如下:

 

  1. sqlite> 
  2.  
  3. sqlite> SELECT Name, Cost FROM Cars ORDER BY Cost DESC;  
  4.  
  5. Name Cost  
  6.  
  7. ---- ---------------  
  8.  
  9. Bent 350000  
  10.  
  11. Merc 57127  
  12.  
  13. Audi 52642  
  14.  
  15. Humm 41400  
  16.  
  17. Volv 29000  
  18.  
  19. Volk 21600  
  20.  
  21. Citr 21000  
  22.  
  23. Skod 9000  
  24.  
  25. sqlite> 

 

區(qū)分DISTINCT 列

有一些字段的值可能會出現(xiàn)重復(fù),比如訂單表中,一個客戶可能會有好幾份訂單,因此客戶的名字會重復(fù)出現(xiàn)。

到底有哪些客戶下了訂單呢?下面的語句將客戶名字區(qū)分出來。代碼如下:

 

  1. sqlite> 
  2.  
  3. sqlite> Select * FROM Orders;  
  4.  
  5. Id OrderPrice Customer  
  6.  
  7. ---- --------------- ---------------  
  8.  
  9. 1 1200 Williamson  
  10.  
  11. 2 200 Robertson  
  12.  
  13. 3 40 Robertson  
  14.  
  15. 4 1640 Smith  
  16.  
  17. 5 100 Robertson  
  18.  
  19. 6 50 Williamson  
  20.  
  21. 7 150 Smith  
  22.  
  23. 8 250 Smith  
  24.  
  25. 9 840 Brown  
  26.  
  27. 10 440 Black  
  28.  
  29. 11 20 Brown  
  30.  
  31. sqlite> 
  32.  
  33. sqlite> SELECT DISTINCT Customer FROM ORDERS;  
  34.  
  35. Customer  
  36.  
  37. ---------------  
  38.  
  39. Black  
  40.  
  41. Brown  
  42.  
  43. Robertson  
  44.  
  45. Smith  
  46.  
  47. Williamson  
  48.  
  49. sqlite> 

 

分組GROUP BY 列

分組和前面的區(qū)分有一點類似。區(qū)分僅僅是為了去掉重復(fù)項,而分組是為了對各類不同項進行統(tǒng)計計算。

比如上面的例子,我們區(qū)分出 5 個客戶,這 5 個客戶一共下了 11 個訂單,說明很多客戶都下了不止一個訂單。

下面的語句統(tǒng)計每個客戶在訂單上總共花費了多少錢。代碼如下:

 

  1. sqlite> 
  2.  
  3. sqlite> SELECT sum(OrderPrice) AS Total, Customer FROM Orders GROUP BY Customer;  
  4.  
  5. Total Customer  
  6.  
  7. --------------- ---------------  
  8.  
  9. 440 Black  
  10.  
  11. 860 Brown  
  12.  
  13. 340 Robertson  
  14.  
  15. 2040 Smith  
  16.  
  17. 1250 Williamson  
  18.  
  19. sqlite> 

 

這里Sum 是SQLite 內(nèi)置的統(tǒng)計函數(shù),在這個例子中用來求每個顧客的訂單價格的和。

統(tǒng)計結(jié)果也可以設(shè)定返回條件,但是不能用 WHERE 子句,而是用HAVING 子句,如下例,返回訂單總額大于 1000 的顧客。代碼如下:

 

  1. sqlite> 
  2.  
  3. sqlite> SELECT sum(OrderPrice) AS Total, Customer FROM Orders  
  4.  
  5. ...> GROUP BY Customer HAVING sum(OrderPrice)>1000;  
  6.  
  7. Total Customer  
  8.  
  9. --------------- ---------------  
  10.  
  11. 2040 Smith  
  12.  
  13. 1250 Williamson  
  14.  
  15. sqlite> 

 

 關(guān)于SQLite數(shù)據(jù)庫的ORDER BY和GROUP BY語句的知識就介紹到這里,希望能給各位帶來收獲。

【編輯推薦】

  1. 一個SQLite數(shù)據(jù)庫查詢數(shù)據(jù)的代碼實例
  2. 一個SQLite數(shù)據(jù)庫插入數(shù)據(jù)的經(jīng)典代碼實例
  3. 一個SQLite數(shù)據(jù)庫修改和刪除數(shù)據(jù)的代碼實例
  4. SQLite數(shù)據(jù)庫限制返回行數(shù)和別名的代碼實例解析
  5. 一個SQLite數(shù)據(jù)庫的LIKE查詢和IN集合查詢的代碼實例
責(zé)任編輯:趙鵬 來源: 博客園
相關(guān)推薦

2011-07-20 13:40:00

SQLite數(shù)據(jù)庫查詢數(shù)據(jù)

2011-07-20 13:18:01

SQLite數(shù)據(jù)庫修改和刪除數(shù)據(jù)

2011-07-20 12:55:17

SQLite數(shù)據(jù)庫插入數(shù)據(jù)

2011-07-20 14:32:59

SQLite數(shù)據(jù)庫LIKE查詢IN集合查詢

2011-07-20 14:06:11

SQLite數(shù)據(jù)庫限制返回行數(shù)

2011-07-05 10:16:16

Qt 數(shù)據(jù)庫 SQLite

2021-02-17 13:52:35

數(shù)據(jù)庫group byMySQL

2012-05-11 10:24:05

SQL數(shù)據(jù)庫SQLitl

2025-04-17 04:00:00

SQLite-WebSQLite數(shù)據(jù)庫

2011-07-05 14:46:34

2011-07-21 16:28:20

MySQL數(shù)據(jù)庫帶游標的存儲過程

2011-07-18 10:45:55

C#SQL Server數(shù)

2011-07-21 17:29:42

iPhone Sqlite 數(shù)據(jù)庫

2011-07-26 18:11:56

iPhone Sqlite 數(shù)據(jù)庫

2009-06-22 13:50:00

java連接mysql

2011-07-20 17:02:51

Oracle數(shù)據(jù)庫

2024-03-07 13:02:57

PythonSQLite數(shù)據(jù)庫

2011-03-03 13:13:51

DelphiSQLite加密

2019-02-11 09:48:02

2021-06-10 13:50:55

代碼開發(fā)數(shù)據(jù)庫
點贊
收藏

51CTO技術(shù)棧公眾號