Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cửa sổ chọn SQL xung quanh hàng cụ thể

Có lẽ chỉ có thể sử dụng UNION và sau đó cắt bỏ các kết quả thừa trong mã thủ tục hiển thị kết quả (vì điều này sẽ trả về 20 hàng trong các trường hợp không cạnh):

(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

CHỈNH SỬA:Đã tăng giới hạn lên 10 ở cả hai bên của UNION, theo đề xuất của le dorfier .

CHỈNH SỬA 2:Được sửa đổi để phản ánh tốt hơn việc triển khai cuối cùng, theo đề xuất của 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. Truy vấn sql ràng buộc các biến so với chỉ định chúng

  2. MySQL - mất bao lâu để tạo một chỉ mục?

  3. Spark JoinWithCassandraTable trên khóa phân vùng TimeStamp STUCK

  4. Quản lý tài khoản người dùng, vai trò, quyền, xác thực PHP và MySQL - Phần 2

  5. Tối ưu hóa MySQL của bảng khổng lồ