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

Chọn một giá trị từ một nhóm dựa trên thứ tự từ các cột khác

SELECT g, a, b, v
  FROM (
            SELECT *, 
                   @rn := IF(g = @g, @rn + 1, 1) rn, 
                   @g := g
              FROM (select @g := null, @rn := 0) x, 
                   tab
          ORDER BY g, a desc, b desc, v
       ) X
 WHERE rn = 1;

Vượt qua một lần. Tất cả các giải pháp khác đều là O (n ^ 2) đối với tôi.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Giá phòng khách sạn cho các mùa khác nhau

  2. Chọn nơi số lượng của một trường lớn hơn một

  3. Các giá trị json trong MySQL SUM được nhóm bằng các khóa json

  4. mysql - Tối ưu hóa ĐẶT HÀNG BẰNG THAN trên cột bảng đã tham gia

  5. Emacs và MySQL trên Mac