共計 1549 個字符,預計需要花費 4 分鐘才能閱讀完成。
這篇文章主要介紹了 MySQL 中怎么查詢不重復的數據的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇 MySQL 中怎么查詢不重復的數據文章都會有所收獲,下面我們一起來看看吧。
一、查詢不重復的整行數據
在 MySQL 中,查詢不重復的數據可以使用 DISTINCT 關鍵字或 GROUP BY 子句,其中 DISTINCT 關鍵字作用于整行數據,GROUP BY 子句則對每一列數據進行分組并返回結果。
使用 DISTINCT 關鍵字
使用 DISTINCT 關鍵字可以篩選掉重復的整行數據,語法如下:
SELECT DISTINCT column1, column2, ... FROM table_name;
其中,column1、column2、… 表示需要篩選不重復數據的列名,可以指定一個或多個列,多個列之間用逗號隔開。
例如,我們有一張學生表(students)如下:
idnameagegender1 張三 20 男 2 李四 21 男 3 王五 20 女 4 趙六 22 女 5 錢七 21 男 6 孫八 20 女
如果我們需要查詢不重復的學生信息,可以使用以下 SQL 語句:
SELECT DISTINCT * FROM students;
執行結果如下:
idnameagegender1 張三 20 男 2 李四 21 男 3 王五 20 女 4 趙六 22 女 5 錢七 21 男 6 孫八 20 女
可以看到,使用 DISTINCT 關鍵字可以篩選掉重復的整行數據。
使用 GROUP BY 子句
使用 GROUP BY 子句可以對每一列數據進行分組,并返回結果。GROUP BY 子句和 DISTINCT 關鍵字類似,不同之處在于 GROUP BY 子句可以對每一列進行分組,而 DISTINCT 關鍵字只能作用于整行數據。
GROUP BY 子句的語法如下:
SELECT column1, column2, ... FROM table_name GROUP BY column1, column2, ...;
例如,我們需要根據學生的年齡和性別來查詢不重復的數據,可以使用以下 SQL 語句:
SELECT age, gender FROM students GROUP BY age, gender;
執行結果如下:
agegender20 女 20 男 21 男 22 女
可以看到,使用 GROUP BY 子句也可以達到查詢不重復數據的效果。
二、查詢不重復的部分數據
除了查詢整行不重復數據之外,有時候我們還需要查詢某些列中不重復的數據。對于這種情況,我們可以使用子查詢或者 GROUP BY 子句。
使用子查詢
使用子查詢可以在需要篩選不重復數據的列上進行查詢,并通過 IN 或 NOT IN 關鍵字將結果與原始表相匹配,得到所需結果。
例如,我們需要查詢學生表中不重復的年齡信息,可以使用以下 SQL 語句:
SELECT age FROM students WHERE age IN (SELECT DISTINCT age FROM students);
執行結果如下:
age202122
可以看到,使用子查詢可以在某些列上篩選不重復數據,并返回所需結果。
使用 GROUP BY 子句
使用 GROUP BY 子句也可以實現查詢部分列中不重復數據的功能。只需要在查詢中指定需要篩選不重復數據的列,然后將其作為 GROUP BY 子句的參數即可。
例如,我們需要查詢學生表中不重復的性別信息,可以使用以下 SQL 語句:
SELECT gender FROM students GROUP BY gender;
執行結果如下:
gender 女男
可以看到,使用 GROUP BY 子句也可以實現查詢部分列中不重復數據的功能。
關于“MySQL 中怎么查詢不重復的數據”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“MySQL 中怎么查詢不重復的數據”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注丸趣 TV 行業資訊頻道。