• 跳至主要導覽
  • 跳至主要內容
  • 跳至主要資訊欄
Office 指南

Office 指南

辦公室工作實用教學

  • Excel
  • Word
  • PowerPoint
  • Windows
  • PowerShell
  • R

MySQL/MariaDB 資料庫 DISTINCT 刪除重複資料教學與範例

介紹如何使用 DISTINCT 將查詢結果中重複的資料移除,只留下不重複的資料。

刪除重複資料

假設我們已經建立了一張 persons 資料表,其內容如下:

-- 查看 persons 資料表內所有資料
SELECT * FROM persons;
+----+-------+------+---------+
| id | name  | age  | city    |
+----+-------+------+---------+
|  1 | Arden |   32 | Taipei  |
|  2 | Bond  |   54 | Taipei  |
|  3 | Cole  |   12 | Hsinchu |
|  4 | Dana  |   19 | Hsinchu |
| 19 | Bond  |   33 | Taipei  |
+----+-------+------+---------+

如果想要列出所有不重複的 city 資料,就可以使用 DISTINCT:

-- 列出所有不重複的 city 資料
SELECT DISTINCT city FROM persons;
+---------+
| city    |
+---------+
| Taipei  |
| Hsinchu |
+---------+

DISTINCT 只會刪除整列(row)完全相同的資料,如果我們同時看 name 與 city 兩個欄位,結果就會不同:

-- 列出所有不重複的 name 與 city 資料
SELECT DISTINCT name, city FROM persons;
+-------+---------+
| name  | city    |
+-------+---------+
| Arden | Taipei  |
| Bond  | Taipei  |
| Cole  | Hsinchu |
| Dana  | Hsinchu |
+-------+---------+

分組後刪除重複資料

如果想要計算各城市中不重複人數,可以配合 GROUP BY 的方式,依照城市分組,在將各城市內重複的人名刪除後計算總合:

-- 計算各城市不重複人數
SELECT city, COUNT(DISTINCT name) FROM persons GROUP BY city;
+---------+----------------------+
| city    | COUNT(DISTINCT name) |
+---------+----------------------+
| Taipei  |                    2 |
| Hsinchu |                    2 |
+---------+----------------------+

參考資料:MySQL Tutorial

分類:資料庫 標籤:MySQL/MariaDB

讀者互動方式

發佈留言 取消回覆

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

主要資訊欄

搜尋

近期文章

  • C++ 語言使用 Crypto++ 實作 RSA 數位簽章教學與範例
  • C++ 語言使用 Crypto++ 實作 RSA-OAEP 搭配 SHA256 加密教學與範例
  • C++ 語言使用 Crypto++ 實作 AES 加密、解密、認證加密教學與範例
  • C++ 語言使用 Crypto++ 實作 MD5、SHA1、SHA2、BLAKE2 雜湊教學與範例
  • Ubuntu Linux 安裝、使用 Crypto++ 加密函式庫教學與範例
  • C 語言使用 OpenSSL 實作橢圓曲線 ECDH 金鑰交換教學與範例
  • Python 以 eciespy 實作 ECC 非對稱式加密方法教學與範例
  • C 語言使用 OpenSSL 實作 PBKDF2 教學與範例

推薦網站

  • Udemy 線上教學課程
  • Coursera 線上教學課程

關注本站

  • 電子郵件
  • Facebook

公益

  • 家扶基金會
  • 台灣世界展望會
  • Yahoo 奇摩公益
  • igiving 公益網
  • 兒福聯盟

Copyright © 2021 · Office Guide