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

SQL Memilih Jendela Di Sekitar Baris Tertentu

Mungkin bisa saja menggunakan UNION, dan kemudian memangkas hasil tambahan dalam kode prosedural yang menampilkan hasil (karena ini akan mengembalikan 20 baris dalam kasus non-tepi):

(SELECT 
     * 
FROM photos
   WHERE ID < #current_id#
   ORDER BY ID DESC LIMIT 10)
UNION
  (SELECT *
   FROM photos
   WHERE ID >= #current_id#
   ORDER BY ID ASC LIMIT 10)
ORDER BY ID ASC

EDIT:Peningkatan batas menjadi 10 di kedua sisi UNION, seperti yang disarankan oleh le dorfier .

EDIT 2:Dimodifikasi untuk lebih mencerminkan implementasi akhir, seperti yang disarankan oleh Dominic.



  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 - SELECT WHERE field IN (subquery) - Mengapa sangat lambat?

  2. Migrasi Laravel db - renameColumn error - Enum tipe database tidak dikenal diminta

  3. Optimalkan kinerja tulis untuk instans AWS Aurora

  4. Pencarian MySQL Fulltext selalu memiliki 0 hasil?

  5. Ruby gem mysql2 gagal menginstal