計算重複紀錄

  1. 先登入 MySQL,使用 dyw 資料庫。
    [root@kvm8 ~]# mysql -s -uroot -p123qwe
    mysql> use dyw;
    mysql>
    
  2. 查詢資料庫 dyw 有那些資料表。
    mysql> show tables;
    Tables_in_dyw
    animals
    clone_animals
    dcount_tbl
    dyw_tbl
    person
    mysql>
    
  3. 查詢資料表 animals 所有紀錄。
    mysql> select * from animals;
    id	name	foot
    1	dog	4
    2	cat	4
    3	chicken	2
    
  4. 新增一筆重複的紀錄。
    mysql> insert into animals(name,foot)
        -> values('cat',4);
    
  5. 紀錄 cat 有兩筆,但 id 不同。
    mysql> select * from animals;
    id	name	foot
    1	dog	4
    2	cat	4
    3	chicken	2
    4	cat	4
    mysql>
    
  6. 使用 SELECT COUNT(*) ... GROUP BY ... HAVING ... 語法計算重複紀錄。
    mysql> select count(*) as repetitions, name,foot
        -> from animals
        -> group by name,foot
        -> having repetitions >1;
    repetitions	name	foot
    2	cat	4
    mysql>