Xử Lý Duplicate Trong SQL - Học Sql Cơ Bản đến Nâng Cao - VietTuts
Có thể bạn quan tâm
Có thể có tình huống khi bạn có nhiều bản ghi trùng lặp trong một bảng. Trong khi lấy ra bản ghi như vậy, chỉ cần lấy các bản ghi duy nhất mà thôi chứ không phải lấy các bản ghi trùng lặp.
Từ khoá DISTINCT trong SQL, được sử dụng kết hợp với câu lệnh SELECT để loại bỏ tất cả các bản ghi trùng lặp và chỉ lấy ra các bản ghi duy nhất.
Nội dung chính
- Cú pháp
- Ví dụ
- Check performance issue
Cú pháp
Cú pháp cơ bản của một từ khoá DISTINCT để loại bỏ các bản ghi trùng lặp như sau.
SELECT DISTINCT column1, column2,.....columnN FROM table_name WHERE [condition]Ví dụ
Hãy xem xét bảng CUSTOMERS có các bản ghi sau.
+----+----------+-----+-----------+----------+ | ID | NAME | AGE | ADDRESS | SALARY | +----+----------+-----+-----------+----------+ | 1 | Ha Anh | 32 | Da Nang | 2000.00 | | 2 | Van Ha | 25 | Ha Noi | 1500.00 | | 3 | Vu Bang | 23 | Vinh | 2000.00 | | 4 | Thu Minh | 25 | Ha Noi | 6500.00 | | 5 | Hai An | 27 | Ha Noi | 8500.00 | | 6 | Hoang | 22 | Ha Noi | 4500.00 | | 7 | Binh | 24 | Ha Noi | 10000.00 | +----+----------+-----+-----------+----------+Trước tiên, chúng ta hãy xem cách truy vấn SELECT sau đây sẽ trả về danh sách SALARY.
SELECT SALARY FROM CUSTOMERS ORDER BY SALARY;Điều này sẽ tạo ra kết quả sau khi mức lương 2000 đã hiển thị hai lần, đó là do có bản ghi trùng lặp.
+----------+ | SALARY | +----------+ | 1500.00 | | 2000.00 | | 2000.00 | | 4500.00 | | 6500.00 | | 8500.00 | | 10000.00 | +----------+Bây giờ, hãy sử dụng từ khóa DISTINCT với truy vấn SELECT ở trên và xem kết quả.
SELECT DISTINCT SALARY FROM CUSTOMERS ORDER BY SALARY;Điều này sẽ tạo ra kết quả sau và không có hạng mục nào bị trùng lặp.
+----------+ | SALARY | +----------+ | 1500.00 | | 2000.00 | | 4500.00 | | 6500.00 | | 8500.00 | | 10000.00 | +----------+ Bài tiếp theo: Các hàm Date trong SQLCheck performance issue
----------------------------------- /* QUERY CHECKING UPON SLOWNESS */ ----------------------------------- SELECT SPID, ER.percent_complete, CAST (((DATEDIFF (s, start_time, GetDate ())) / 3600) as varchar) + 'hour (s),' + CAST ((DATEDIFF (s, start_time, GetDate ())% 3600) / 60 as varchar) + 'min,' + CAST ((DATEDIFF (s, start_time, GetDate ())% 60) as varchar) + 'sec' as running_time, CAST ((estimated_completion_time / 3600000) as varchar) + 'hour (s),' + CAST ((estimated_completion_time% 3600000) / 60000 as varchar) + 'min,' + CAST ((estimated_completion_time% 60000) / 1000 as varchar) + 'sec' as est_time_to_go, DATEADD (second, estimated_completion_time / 1000, getdate ()) as est_completion_time, /* End of Article Code */ ER.command, ER.blocking_session_id, SP.DBID, LASTWAITTYPE, DB_NAME (SP.DBID) AS DBNAME, SUBSTRING (est.text, (ER.statement_start_offset / 2) +1, ((CASE ER.statement_end_offset WHEN -1 THEN DATALENGTH (est.text) ELSE ER.statement_end_offset END - ER.statement_start_offset) / 2) + 1) as QueryText, TEXT, CPU, HOSTNAME, LOGIN_TIME, LOGINAME, SP.status, PROGRAM_NAME, NT_DOMAIN, NT_USERNAME FROM SYSPROCESSES SP INNER JOIN sys.dm_exec_requests ER ON sp.spid = ER.session_id CROSS APPLY SYS.DM_EXEC_SQL_TEXT (er.sql_handle) EST ORDER BY CPU DESC select sqltext.Text, req.session_id, req.status, req.command, req.cpu_time, req.total_elapsed_time from sys.dm_exec_requests req cross apply sys.dm_exec_sql_text(sql_handle) as sqltext Sequence trong SQL Các hàm Date trong SQLTừ khóa » Xóa Dòng Trùng Trong Sql
-
Xóa Dữ Liệu Trùng Nhau Trong SQL Server - Vi
-
Xóa Dữ Liệu Trùng Nhau Trong SQL Server - Freetuts
-
Xóa Các Dòng Trùng Nhau Trong SQL
-
DISTINCT Loại Bỏ Kết Quả Trùng Nhau Trong SQL
-
Hướng Dẫn Tìm Kiếm Và Xóa Dữ Liệu Trùng Lắp Duplicate ... - Code 24h
-
Hướng Dẫn Tìm Kiếm Và Xóa Dữ Liệu Trùng Lắp ... - Lập Trình VB.NET
-
Xác định Và Xóa Các Bản Ghi Trùng Lặp Trong Bảng SQL Server
-
Xóa Dữ Liệu Trùng Trong Sql | Bản-ngã.vn
-
Xóa Các Bản Ghi Trùng Nhau Trong Sql Server - GÓC LẬP TRÌNH
-
Làm Thế Nào để Xóa Các Hàng Trùng Lặp Trong Máy Chủ Sql? - HelpEx
-
Xóa Các Hàng Trùng Lặp Khỏi Bảng Trong Oracle? - HelpEx
-
Cách để Xóa Dữ Liệu Trùng Lặp Trong Oracle - WikiHow
-
Sửa Các Câu Lệnh SQL để Tinh Chỉnh Kết Quả Truy Vấn