一、查詢不重複的整行資料
在MySQL中,查詢不重複的資料可以使用DISTINCT關鍵字或GROUP BY子句,其中DISTINCT關鍵字作用於整行數據,GROUP BY子句則將每一列資料分組並傳回結果。
使用DISTINCT關鍵字
使用DISTINCT關鍵字可以篩選重複的整行數據,語法如下:
SELECT DISTINCT column1, column2, ... FROM table_name;
其中,column1、column2、...表示需要篩選不重複資料的列名,可以指定一個或多個列,多個列之間用逗號隔開。
例如,我們有一張學生表(students)如下:
#name | age | gender | |
---|---|---|---|
1 | #張三 | 20 | 男 |
2 | 李四 | 21 | 男 |
##王五 | 20 | 女 | |
趙六 | 22 | 女 | |
錢七 | 21 | 男 | ##6 |
20
女
#如果我們需要查詢不重複的學生訊息,可以使用下列SQL語句: | 執行結果如下: | #id | |
---|---|---|---|
1 | 張三 | ||
男 | #2 | 李四 | |
男 | #3 | 王五 | |
女 | 4 | 趙六 | |
女 | 5 | 錢七 | |
男 | ##6 | #孫八 |
#可以看到,使用DISTINCT關鍵字可以篩選掉重複的整行資料。
使用GROUP BY子句
使用GROUP BY子句,可以將資料依照列分組,並傳回分組結果。 GROUP BY子句和DISTINCT關鍵字類似,不同之處在於GROUP BY子句可以將每一列分組,而DISTINCT關鍵字只能作用於整行資料。
GROUP BY子句的語法如下:
SELECT column1, column2, ... FROM table_name GROUP BY column1, column2, ...;
女 | |
男 | |
22 |
可以看到,使用GROUP BY子句也可以達到查詢不重複資料的效果。
二、查詢不重複的部分資料
使用GROUP BY子句,在查詢部分列時可以移除重複的資料。要篩選不重複的數據,只需在查詢中指定相應列,然後將該列作為GROUP BY子句的參數。
例如,我們需要查詢學生表中不重複的性別訊息,可以使用以下SQL語句:
SELECT gender FROM students GROUP BY gender;
以上是MySQL中怎麼查詢不重複的數據的詳細內容。更多資訊請關注PHP中文網其他相關文章!