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

MySQL:Bỏ qua một cột đã chọn khi sử dụng DISTINCT

Có hai trường hợp ở đây. Giả sử bạn có dữ liệu

A  B  C   (columns)
a  b  c1
a  b  c2

Lấy các giá trị riêng biệt của A, B chỉ cho một kết quả (a, b), với hai giá trị cho cột C. Vì vậy, câu hỏi đặt ra là bạn muốn xem tất cả các giá trị của C hay chỉ một giá trị cho mỗi giá trị riêng biệt của cột A và B ?

Nếu bạn chỉ muốn xem một giá trị của C, thì bạn có thể viết

SELECT A, B, MAX(C) FROM YourTable
  GROUP BY A, B

Mặt khác, nếu bạn muốn xem tất cả các giá trị cho C thì

SELECT DISTINCT A, B, C FROM YourTable WHERE ROW(A,B) IN 
  (SELECT A, B FROM YourTable
     GROUP BY A, B)

mang lại cho bạn điều đó. Thay thế cuối cùng này là cần thiết nếu có các cột khác trong bảng.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. cấu trúc mysql cho các bài đăng và nhận xét

  2. cách nhận thời gian tải tính bằng mili giây hoặc micro giây trong mysql

  3. Dấu thời gian buộc Hibernate duy trì / tải dưới dạng UTC

  4. Cách lấy một bản ghi cuối cùng với một id cụ thể trong codeigniter

  5. Kết nối lại MySQL khi hết thời gian