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

Permintaan MySQL ke baris Peringkat dinamis

memiliki
Ini akan lambat, tetapi having klausa akan dijalankan setelah semua pemilihan, penggabungan, tempat dan pengelompokan telah selesai dan diselesaikan sepenuhnya.
Satu-satunya masalah adalah having tidak menggunakan indeks, sedangkan where memang menggunakan indeks.

SELECT
  ranking stuff
FROM 
  lot of tables
WHERE simple_condition
HAVING filters_that_run_last

Buat gabungan Anda eksplisit
Perhatikan bahwa Anda tidak perlu mencampur gabungan eksplisit dan implisit.
Jika Anda mau gabungan silang, Anda dapat menggunakan cross join kata kunci.

    ....
    ) AS Ranking
    CROSS JOIN (SELECT @curr := null, @prev := null, @rank := 0) InitVars
WHERE
  Ranking.regional_id = 1003


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana Anda memilih setiap baris ke-n dari mysql

  2. Bagaimana menghubungkan ke MySQL menggunakan Python

  3. berapa banyak jenis gabungan yang ada di mysql atau sql

  4. Aktifkan pemicu setelah pembaruan kolom tertentu di MySQL

  5. MySQL - Kunci asing saat hapus setel nol di bidang bukan nol