程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL中Distinct和Group By語句的根本應用教程

MySQL中Distinct和Group By語句的根本應用教程

編輯:MySQL綜合教程

MySQL中Distinct和Group By語句的根本應用教程。本站提示廣大學習愛好者:(MySQL中Distinct和Group By語句的根本應用教程)文章只能為提供參考,不一定能成為您想要的結果。以下是MySQL中Distinct和Group By語句的根本應用教程正文


MySQL Distinct 去失落查詢成果反復記載
DISTINCT
應用 DISTINCT 症結字可以去失落查詢中某個字段的反復記載。
語法:

SELECT DISTINCT(column) FROM tb_name


例子:
假定 user 表有以下記載:

uid username
1 小李
2 小張
3 小李
4 小王
5 小李
6 小張

SQL 語句:
SELECT DISTINCT(username) FROM user
前往查詢成果以下:

username
小李
小張
小王

提醒
應用 DISTINCT 症結字去失落反復記載具有較年夜的局限性。DISTINCT() 只能包括一個字段且查詢成果也只前往該字段而非數據完全記載(如上例所示)。
可以測驗考試應用以下語法:

SELECT DISTINCT(column),column1,column2,... FROM tb_name

該查詢成果將前往列出的一切字段,但該查詢常常使 column 的獨一性掉效,且 column 1,column 2,… 不克不及放在 DISTINCT(column) 之前。
下面的例子假如要前往以下成果(這常常是希冀中的):

uid username
1 小李
2 小張
3 小王

這時候候就要用到 GROUP BY 症結字。

MySQL Group By 數據分組
GROUP BY
MySQL中 應用 GROUP BY 症結字用於對某個或某些字段查詢分組,並前往反復記載的第一條。
語法:

SELECT column,... FROM tb_name GROUP BY column1,column2 ...

user 表記載以下:

uid username
1 小李
2 小張
3 小李
4 小王
5 小李
6 小張

對下面的 user 表做查詢以下:

SELECT * FROM user GROUP BY username

前往查詢成果以下:

uid username
1 小李
2 小張
3 小王

解釋
GROUP BY 語法在 MySQL 數據庫中的用法與其他數據庫相差較年夜。關於尺度 SQL 而言,GROUP BY 必定要聯合聚合函數應用,並且選擇的字段除聚合函數外,還必需在 GROUP BY 中湧現。然則在 MySQL 中擴大了 GROUP BY 的功效:
不加聚合函數的情形下,前往的成果是 GROUP BY 成果集中第一行,如下面例子所示。
GROUP BY 聯合聚合函數的時刻,選擇的字段不用在 GROUP BY 中存在,MySQL 具有隱含字段的功效。
所以我們可以依據 MySQL 對 GROUP BY 的擴大特征,聯合別的一些症結字如 ORDER BY 等,便利的獲得想要的查詢成果。
例子 2:

SELECT * FROM user GROUP BY username,uid

前往查詢成果以下:

uid username
1 小李
3 小李
5 小李
2 小張
6 小張
4 小王

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved