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

MySql:Tìm số hàng của bản ghi cụ thể

Mục đích của tôi đã được giải quyết:) Vì vậy, tôi đăng ở đây nếu ai thấy nó phù hợp:

SELECT d.myRowSerial
FROM (
    SELECT *, @rownum:[email protected] + 1 AS myRowSerial 
    FROM myTable, (SELECT @rownum:=0) AS nothingButSetInitialValue 
    WHERE 1=1 -- Optional: filter if required, otherwise, omit this line;
    ORDER BY AnyColumn -- Apply the order you like; 
) d
WHERE d.myColumn = 'Anything'; -- If you like to limit it to only
-- for any specific row(s), similar to the *MAIN query.

Nếu bạn cũng cần số trang có thể được sử dụng để xác định giá trị bù cho phân trang, thì chỉ cần thay đổi dòng đầu tiên ở trên như thế này:

SELECT d.myRowSerial, FLOOR((d.myRowSerial-1)/10) AS pageNumber
-- Say, 10 is per page;

Bạn sẽ có pageNumber ==0 cho trang 1 và pageNumber ==1 cho trang 2, v.v.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. lỗi mysql 1292 khi sử dụng truyền trong câu lệnh cập nhật

  2. Chèn dữ liệu vào nhiều bảng bằng một biểu mẫu

  3. Làm thế nào để chạy tập lệnh SQL trong MySQL?

  4. # 1062 - Mục nhập trùng lặp '' cho khóa 'unique_id' khi cố gắng thêm KEY DUY NHẤT (MySQL)

  5. mysql_connect () Sự khác biệt giữa localhost và 127.0.0.1