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

Làm thế nào để chọn số lượng bản ghi N khôn ngoan trong phân trang từ Cơ sở dữ liệu MySQL?

một trăm đầu tiên

 SELECT * FROM <table_name> ORDER BY id ASC LIMIT 0, 100

một trăm tiếp theo

 SELECT * FROM <table_name> ORDER BY id ASC LIMIT 100, 100

bạn rất tinh ý về việc đặt hàng bằng

BÁO CÁO GIỚI HẠN ĐƯỢC GIẢI THÍCH: LIMIT câu lệnh KHÔNG phải là WHERE mệnh đề. Nó không chọn theo id thực tế cũng không theo bất kỳ tiêu chí nào, (có where mệnh đề thực hiện điều đó) Thay vào đó limit mệnh đề đơn giản đảm bảo rằng bạn được trả về một phần của khối block kết quả là tập hợp con của "mọi thứ". Do đó, tại sao điều quan trọng là phải đề cập đến một đơn đặt hàng order by mỗi lần, để mỗi lần gọi tiếp theo sẽ cung cấp cho bạn phần chính xác của khối dữ liệu theo thứ tự và bạn có thể 'tiếp theo', 'tiếp theo', 'tiếp theo' thông qua chúng

EG:cho bảng có trật tự this_table :

+-------+-------------+
|  id   |   value     |
+-------+-------------+
|  1    |     bob     |
|  12   |     fish    |
|  112  |     pink    |
|  2    |     cat     |
|  8    |     dog     |
|  56   |     blue    |
|  88   |     grey    |
|  87   |     red     |
+-------+-------------+

các lựa chọn trả về như sau:

SELECT * FROM <this_table> ORDER BY id ASC LIMIT 0,5
+-------+-------------+
|  id   |   value     |
+-------+-------------+
|  1    |     bob     |
|  2    |     cat     |
|  8    |     dog     |
|  12   |     fish    |
|  56   |     blue    |
+-------+-------------+

SELECT * FROM <this_table> ORDER BY id ASC LIMIT 5,5
+-------+-------------+
|  id   |   value     |
+-------+-------------+
|  87   |     red     |
|  88   |     grey    |
|  112  |     pink    |
+-------+-------------+

nhận thấy việc thiếu hàng 9 và 10, điều này là có chủ ý và cho thấy MySQL đang hoạt động như dự định

tình cờ, bạn cũng nên xem xét thêm chỉ mục trên id điều này sẽ MASSIVELY tăng tốc độ của các lựa chọn này

ALTER TABLE <table_name> ADD INDEX `id` (`id`)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tải hình ảnh lên máy chủ trong Spring MVC và lưu trữ tham chiếu trong cơ sở dữ liệu mysql

  2. Làm thế nào để tạo cơ sở dữ liệu từ lệnh shell?

  3. Xóa một hàng có quan hệ với các bảng khác

  4. Bộ sưu tập Câu lệnh được ánh xạ không chứa giá trị cho trình liên kết mybatis

  5. Google App Script JDBC / MySql:bạn không phải là chủ sở hữu của lỗi chuỗi