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

MySQL:Nhận giá trị cao thứ n cho mỗi nhóm trong bảng

Tôi hy vọng có một cách tốt hơn, nhưng bạn có thể đạt được điều này bằng cách giao nhau hoặc không nhập hai truy vấn con:

Select mytable.Store, mytable.Dept, mytable.Order, mytable.Amount
from mytable m
inner join 
  (Select Amount from mytable n where m.store = n.store and m.dept = n.dept order by Amount desc limit 2) as high_enough
  on mytable.Amount = high_enough.Amount
left join 
   (Select Amount from mytable n where m.store = n.store and m.dept = n.dept order by Amount desc limit 2) as too_high
  where too_high.Amount is null
group by Store, Dept;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để MySQL sử dụng INDEX cho truy vấn chế độ xem?

  2. Xuất ra danh sách các bản ghi MySQL, được nhóm theo danh mục?

  3. mysql_insert_id với bản cập nhật

  4. Câu lệnh MariaDB LIMIT mang lại nhiều hơn giới hạn

  5. Xóa các giá trị mảng trước khi chèn mysql