Database
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Database

Cách không hiển thị trùng lặp trong SQL

Vấn đề:

Bạn muốn hiển thị các bản ghi không trùng lặp trong SQL.

Ví dụ:

Cơ sở dữ liệu của chúng tôi có một bảng tên là City với dữ liệu trong các cột id , namecountry .

id tên quốc gia
1 Madrid Tây Ban Nha
2 Barcelona Tây Ban Nha
3 Warsaw Ba Lan
4 Cracow Ba Lan

Hãy lấy tên của các quốc gia không trùng lặp.

Giải pháp:

Chúng tôi sẽ sử dụng từ khóa DISTINCT . Đây là truy vấn:

SELECT
DISTINCT country
FROM City;

Đây là kết quả của truy vấn:

country
Tây Ban Nha
Ba Lan

Thảo luận:

Nếu bạn muốn truy vấn chỉ trả về các hàng duy nhất, hãy sử dụng từ khóa DISTINCT sau SELECT . DISTINCT có thể được sử dụng để tìm nạp các hàng duy nhất từ ​​một hoặc nhiều cột. Bạn cần liệt kê các cột sau DISTINCT từ khóa.

Làm thế nào nó hoạt động dưới mui xe? Khi truy vấn được thực thi, toàn bộ tập dữ liệu được chọn trước tiên, sau đó chọn DISTINCT loại bỏ các hàng bị trùng lặp với các cột đã chọn.

Trong ví dụ của chúng tôi, cả Tây Ban Nha và Ba Lan đều xuất hiện hai lần trong bảng. Tuy nhiên, sau khi áp dụng từ khóa DISTINCT , mỗi người chỉ được trả lại một lần.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 10 phương pháp hàng đầu để cải thiện hiệu suất ETL bằng SSIS

  2. Lỗi ước tính số lượng truy vấn con

  3. Bộ xử lý AMD EPYC trong Máy ảo Azure

  4. Cách loại bỏ các hàng trùng lặp trong SQL

  5. Tại sao bạn cần lập mô hình dữ liệu?