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

Dapatkan top-k setiap grup di MySQL

Cobalah ini:

select postid, clicks,
    @num := if(@year = @year and @month = month, @num + 1, 1) row_number,
    @year := year year, @month := month month
from (
    select * from t
    order by year, month, clicks desc
) s, (select @num := 0, @year := '', @month := '') init
group by year, month, postid, clicks
having row_number <= 2
order by year, month, clicks desc

Biola di sini




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Contoh minimal menggunakan pilih... untuk pembaruan untuk mengisolasi baris

  2. Bisakah string yang disandikan base64 berisi spasi?

  3. Kueri tidak lengkap - MYSQL

  4. C# Coba/Tangkap tidak menangkap pengecualian

  5. Permintaan Mysql saya tidak diperbarui