新聞中心
這里有您想知道的互聯(lián)網營銷解決方案
MySQL中對數據進行去重
DISTINCT 實際上和 GROUP BY 操作的實現非常相似,只不過是在 GROUP BY 之后的每組中只取出一條記錄而已。所以,DISTINCT 的實現和 GROUP BY 的實現也基本差不多,沒有太大的區(qū)別。同樣可以通過松散索引掃描或者是緊湊索引掃描來實現,當然,在無法僅僅使用索引即能完成 DISTINCT 的時候,MySQL 只能通過臨時表來完成。但是,和 GROUP BY 有一點差別的是,DISTINCT 并不需要進行排序。

在使用 MySQL SELECT 語句查詢數據的時候返回的是所有匹配的行。
查詢 tb_students_info 表中所有 age 的執(zhí)行結果如下所示。
mysql> SELECT age FROM tb_students_info;
+------+
| age |
+------+
| 25 |
| 23 |
| 23 |
| 22 |
| 24 |
| 21 |
| 22 |
| 23 |
| 22 |
| 23 |
+------+
10 rows in set (0.00 sec)
可以看到查詢結果返回了 10 條記錄,其中有一些重復的 age 值,有時出于對數據分析的要求,需要消除重復的記錄值。這時候就需要用到 DISTINCT 關鍵字指示 MySQL 消除重復的記錄值,語法格式為:
SELECT DISTINCT FROM ;
查詢 tb_students_info 表中 age 字段的值,返回 age 字段的值且不得重復,輸入的 SQL 語句和執(zhí)行結果如下所示。
mysql> SELECT DISTINCT age FROM tb_students_info;
+------+
| age |
+------+
| 25 |
| 23 |
| 22 |
| 24 |
| 21 |
+------+
5 rows in set (0.11 sec)
由運行結果可以看到,這次查詢結果只返回了 5 條記錄的 age 值,且沒有重復的值。
當前文章:MySQL中對數據進行去重
網頁網址:http://m.5511xx.com/article/cdjhohe.html


咨詢
建站咨詢
