Computer >> Máy Tính >  >> Lập trình >> MySQL

Tìm và hiển thị các giá trị trùng lặp chỉ một lần từ một cột trong MySQL

Đầu tiên chúng ta hãy tạo một bảng -

mysql> create table DemoTable
-> (
-> value int
-> );
Query OK, 0 rows affected (0.82 sec)

Chèn một số bản ghi vào bảng bằng lệnh chèn -

mysql> insert into DemoTable values(10);
Query OK, 1 row affected (0.19 sec)

mysql> insert into DemoTable values(100);
Query OK, 1 row affected (0.10 sec)

mysql> insert into DemoTable values(20);
Query OK, 1 row affected (0.28 sec)

mysql> insert into DemoTable values(10);
Query OK, 1 row affected (0.34 sec)

mysql> insert into DemoTable values(30);
Query OK, 1 row affected (0.24 sec)

mysql> insert into DemoTable values(40);
Query OK, 1 row affected (0.11 sec)

mysql> insert into DemoTable values(20);
Query OK, 1 row affected (0.07 sec)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select *from DemoTable;

Đầu ra

Điều này sẽ tạo ra kết quả sau -

+-------+
| value |
+-------+
| 10    |
| 100   |
| 20    |
| 10    |
| 30    | 
| 40    |
| 20    |
+-------+
7 rows in set (0.00 sec)

Sau đây là truy vấn để tìm các giá trị trùng lặp và hiển thị chúng một lần -

mysql> select *from DemoTable group by value having count(*) > 1;

Đầu ra

Điều này sẽ tạo ra kết quả sau -

+-------+
| value |
+-------+
| 10    |
| 20    |
+-------+
2 rows in set (0.00 sec)