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

Tìm các giá trị trùng lặp được gán cho nhiều giá trị duy nhất

WITH CTE AS (SELECT DBVersionKey, Desc19, ROW_NUMBER()OVER(PARTITION BY Desc19
ORDER BY Desc19) RN
FROM Table_A)

SELECT * FROM CTE WHERE RN > 1

Tôi đề nghị sử dụng các biểu thức bảng phổ biến với các phân vùng số hàng. Điều này tạo ra một số lượng (RN) của mỗi phiên bản của Desc19.

Tôi không thể kiểm tra truy vấn ngay bây giờ, nhưng hãy cập nhật cho tôi về kết quả của bạn và tôi có thể điều chỉnh từ đó.

CHỈNH SỬA

Nếu DBVersionKey không phải là một giá trị duy nhất, tôi sẽ thử:

SELECT DISTINCT DBVersionKey, Desc19, COUNT(*)
FROM Table_A
Group by DBVersionKey, Desc19

Hãy cho tôi biết nếu điều đó hoạt động tốt hơn.

CHỈNH SỬA 2

Một lần nữa, tôi không thể kiểm tra nó. Thêm vào truy vấn đề xuất đầu tiên:

WITH CTE AS (SELECT DBVersionKey, Desc19, ROW_NUMBER()OVER(PARTITION BY Desc19 ORDER BY Desc19) RN 
FROM (SELECT DISTINCT DBVersionKey, Desc19 FROM Table_A GROUP BY DBVersionKey, Desc19)

SELECT * FROM CTE WHERE RN > 1


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tại sao khóa ngoại không được tạo bằng GORM?

  2. docker cam kết mysql không lưu

  3. Tôi có thể lưu trữ giá dưới dạng số thập phân hoặc Số nguyên trong Mysql không?

  4. Chèn vào MySQL Table PHP

  5. Nối hai bảng tương tự trong MySQL