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

mysql pilih dari n baris terakhir

Mulai dari jawaban diberikan oleh @chaos, tetapi dengan sedikit modifikasi:

  • Anda harus selalu menggunakan ORDER BY jika Anda menggunakan LIMIT . Tidak ada urutan implisit yang dijamin untuk tabel RDBMS. Anda mungkin biasanya dapatkan baris dalam urutan kunci utama, tetapi Anda tidak dapat mengandalkan ini, juga tidak portabel.

  • Jika Anda memesan dalam urutan menurun, Anda tidak perlu mengetahui jumlah baris dalam tabel terlebih dahulu.

  • Anda harus memberikan nama korelasi (alias tabel alias) ke tabel turunan.

Ini versi kueri saya:

SELECT `id`
FROM (
    SELECT `id`, `val`
    FROM `big_table`
    ORDER BY `id` DESC
    LIMIT $n
) AS t
WHERE t.`val` = $certain_number;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL MariaDB – Kueri Menggunakan Tabel Temp

  2. Konfigurasi Replikasi Database Master-Master MySQL

  3. Hapus Kunci Utama di MySQL

  4. Menjalankan beberapa kueri SQL dalam satu pernyataan dengan PHP

  5. Mengeluarkan semua kesalahan PHP ke database bukan error_log