首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL SELECT 語法大全:排序、分組、分頁、導出、UNION、去重實例

     編輯:MySQL 綜合教學

MySQL SELECT 語法大全:排序、分組、分頁、導出、UNION、去重實例

完整語法骨架

SELECT [ALL|DISTINCT|DISTINCTROW] [HIGH_PRIORITY] [STRAIGHT_JOIN]
  [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
  [SQL_CACHE|SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS]
  select_expr, ...
  [INTO OUTFILE 'file_name' export_options | INTO DUMPFILE 'file_name']
  [FROM table_references [WHERE where_definition]]
  [GROUP BY {col_name|expr|position} [ASC|DESC], ... [WITH ROLLUP]]
  [HAVING where_definition]
  [ORDER BY {col_name|expr|position} [ASC|DESC], ...]
  [LIMIT {[offset,] row_count | row_count OFFSET offset}]
  [PROCEDURE procedure_name(argument_list)]
  [FOR UPDATE | LOCK IN SHARE MODE]

常用子句實例

簡單查詢

SELECT col_a, col_b FROM my_table;

ORDER BY 排序

SELECT college, region, seed FROM tournament ORDER BY region, seed;
SELECT college, region AS r, seed AS s FROM tournament ORDER BY r, s;
SELECT college, region, seed FROM tournament ORDER BY 2, 3;  -- 按位置
SELECT a, COUNT(b) FROM test_table ORDER BY a DESC;  -- 降序

GROUP BY 分組 + HAVING

SELECT a, COUNT(b) FROM test_table GROUP BY a DESC;
SELECT COUNT(col1) AS col2 FROM t GROUP BY col2 HAVING col2 = 2;
-- HAVING 用於聚合條件,WHERE 用於非聚合
SELECT user, MAX(salary) FROM users GROUP BY user HAVING MAX(salary) > 10;

LIMIT 分頁

SELECT * FROM tbl LIMIT 10;        -- 前 10 行 (0-9)
SELECT * FROM tbl LIMIT 5, 10;     -- 第 6-15 行
SELECT * FROM tbl LIMIT 95, 18446744073709551615;  -- 第 96 行到末尾

SELECT ... INTO OUTFILE 導出文件

SELECT a,b,a+b INTO OUTFILE '/tmp/result.txt'
  FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
  LINES TERMINATED BY '\n'
  FROM test_table;
-- INTO DUMPFILE 僅寫入單行無轉義,適合導出 BLOB

UNION 合併結果集

(SELECT a FROM t WHERE a=10 AND b=1)
UNION
(SELECT a FROM t WHERE a=11 AND b=2)
ORDER BY a LIMIT 10;
-- UNION 去重,UNION ALL 保留重複

去重選項

SELECT DISTINCT a FROM table_name;
SELECT COUNT(DISTINCT a) FROM table_name;
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved