- SQLite 教程
- SQLite - 首頁
- SQLite - 概述
- SQLite - 安裝
- SQLite - 命令
- SQLite - 語法
- SQLite - 資料型別
- SQLite - 建立資料庫
- SQLite - 附加資料庫
- SQLite - 分離資料庫
- SQLite - 建立表
- SQLite - 刪除表
- SQLite - INSERT 查詢
- SQLite - SELECT 查詢
- SQLite - 運算子
- SQLite - 表示式
- SQLite - WHERE 子句
- SQLite - AND & OR 子句
- SQLite - UPDATE 查詢
- SQLite - DELETE 查詢
- SQLite - LIKE 子句
- SQLite - GLOB 子句
- SQLite - LIMIT 子句
- SQLite - ORDER BY 子句
- SQLite - GROUP BY 子句
- SQLite - HAVING 子句
- SQLite - DISTINCT 關鍵字
- 高階 SQLite
- SQLite - PRAGMA
- SQLite - 約束
- SQLite - 聯接
- SQLite - UNIONS 子句
- SQLite - NULL 值
- SQLite - 別名語法
- SQLite - 觸發器
- SQLite - 索引
- SQLite - INDEXED BY 子句
- SQLite - ALTER 命令
- SQLite - TRUNCATE 命令
- SQLite - 檢視
- SQLite - 事務
- SQLite - 子查詢
- SQLite - AUTOINCREMENT
- SQLite - 注入
- SQLite - EXPLAIN
- SQLite - VACUUM
- SQLite - 日期和時間
- SQLite - 常用函式
- SQLite 有用資源
- SQLite - 快速指南
- SQLite - 有用資源
- SQLite - 討論
SQLite - HAVING 子句
HAVING 子句允許您指定條件,以過濾最終結果中顯示的組結果。
WHERE 子句對選定的列施加條件,而 HAVING 子句對 GROUP BY 子句建立的組施加條件。
語法
以下是 HAVING 子句在 SELECT 查詢中的位置。
SELECT FROM WHERE GROUP BY HAVING ORDER BY
HAVING 子句必須在查詢中的 GROUP BY 子句之後,並且如果使用 ORDER BY 子句,也必須位於其之前。以下是 SELECT 語句(包括 HAVING 子句)的語法。
SELECT column1, column2 FROM table1, table2 WHERE [ conditions ] GROUP BY column1, column2 HAVING [ conditions ] ORDER BY column1, column2
示例
考慮具有以下記錄的 COMPANY 表。
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 1 Paul 32 California 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 Norway 20000.0 4 Mark 25 Rich-Mond 65000.0 5 David 27 Texas 85000.0 6 Kim 22 South-Hall 45000.0 7 James 24 Houston 10000.0 8 Paul 24 Houston 20000.0 9 James 44 Norway 5000.0 10 James 45 Texas 5000.0
以下示例將顯示名稱計數小於 2 的記錄。
sqlite > SELECT * FROM COMPANY GROUP BY name HAVING count(name) < 2;
這將產生以下結果。
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 2 Allen 25 Texas 15000 5 David 27 Texas 85000 6 Kim 22 South-Hall 45000 4 Mark 25 Rich-Mond 65000 3 Teddy 23 Norway 20000
以下示例將顯示名稱計數大於 2 的記錄。
sqlite > SELECT * FROM COMPANY GROUP BY name HAVING count(name) > 2;
這將產生以下結果。
ID NAME AGE ADDRESS SALARY ---------- ---------- ---------- ---------- ---------- 10 James 45 Texas 5000
廣告