Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Dapatkan gaji tertinggi kedua untuk setiap orang di mysql

Dengan menggunakan fungsi agregat dan bergabung sendiri, Anda dapat melakukan sesuatu seperti

select a.*
from demo a
left join demo b on a.person_id = b.person_id
group by a.person_id,a.salary
having sum(a.salary < b.salary) = 1 /* 0 for highest 1 for second highest 2 for third and so on ... */

atau menggunakan ekspresi kasus lengkap dalam sum

having sum(case when a.salary < b.salary then 1 else 0 end)  = 1

Demo



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menggunakan MariaDB dengan Entity Framework

  2. Alokasi memori MySQL TEXT

  3. Hapus dengan Gabung di MySQL

  4. Pengantar Failover untuk Replikasi MySQL - Blog 101

  5. Bagaimana cara mendapatkan ID Variasi Woocommerce?