国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL中Distinct和Group By語句的基本使用教程

2024-07-24 13:08:18
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了MySQL中Distinct和Group By語句的基本使用教程,這里主要是針對查詢結果去重的用法,需要的朋友可以參考下
 

MySQL Distinct 去掉查詢結果重復記錄
DISTINCT
使用 DISTINCT 關鍵字可以去掉查詢中某個字段的重復記錄。
語法:

SELECT DISTINCT(column) FROM tb_name


例子:
假定 user 表有如下記錄:

uid username1 小李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 username1 小李2 小張3 小王

這時候就要用到 GROUP BY 關鍵字。

MySQL Group By 數據分組
GROUP BY
MySQL中 使用 GROUP BY 關鍵字用于對某個或某些字段查詢分組,并返回重復記錄的第一條。
語法:

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

user 表記錄如下:

uid username1 小李2 小張3 小李4 小王5 小李6 小張

對上面的 user 表做查詢如下:

SELECT * FROM user GROUP BY username

返回查詢結果如下:

uid username1 小李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 username1 小李3 小李5 小李2 小張6 小張4 小王


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大足县| 绍兴县| 邵阳市| 青岛市| 鱼台县| 安多县| 丁青县| 北流市| 永平县| 静安区| 韩城市| 嫩江县| 镇巴县| 南靖县| 察雅县| 六盘水市| 盱眙县| 长汀县| 上虞市| 包头市| 临桂县| 靖江市| 大庆市| 平定县| 友谊县| 东城区| 舟曲县| 东丽区| 灯塔市| 桦甸市| 泸西县| 绥中县| 襄城县| 喀什市| 贵溪市| 平果县| 六安市| 木兰县| 新乐市| 镇雄县| 台南市|