next up previous contents
Next: 刪除重複紀錄 Up: Duplicates 重複紀錄 Previous: 計算重複紀錄   Contents

不重複顯示重複紀錄

  1. 使用 DISTINCT 語法讓重複紀錄只顯示一筆。
    mysql> select distinct name,foot
        -> from animals
        -> order by name;
    name	foot
    cat	4
    chicken	2
    dog	4
    mysql>
    
  2. 使用 SELECT ... GROUP BY ... 語法可以自行組合重複紀錄判斷欄位。
    mysql> select name,foot from animals
        -> group by name,foot;
    name	foot
    cat	4
    chicken	2
    dog	4
    mysql>
    
  3. 比較 DISTINCTSELECT ... GROUP BY ... 語法之差異,先顯示目前資料表的內容有三筆紀錄。
    mysql> select * from animals;
    id	name	foot
    1	dog	4
    15	cat	4
    16	chicken	2
    
  4. DISTINCT 語法使其後接的欄位組合只顯示一筆,輸出也只顯示其組合的欄位,無法顯示其他欄位。
    mysql> select distinct foot from animals;
    foot
    4
    2
    
  5. DISTINCT name,foot 表示欄位 name+foot 組合不重複,輸出也只顯示欄位 name 及 foot。
    mysql> select distinct name,foot from animals;
    name	foot
    dog	4
    cat	4
    chicken	2
    
  6. 若要指定某一欄位不重複,但輸出所有欄位的內容,就必須使用 SELECT ... GROUP BY ... 語法,select * 輸出所有欄位內容,group by foot 指定欄位 foot 成群組,也就是只顯示一筆。
    mysql> select * from animals group by foot;
    id	name	foot
    16	chicken	2
    1	dog	4
    



2017-06-01