Mysql
 sql >> база данни >  >> RDS >> Mysql

MySql:Намерете номера на ред на конкретен запис

Целта ми е решена :) И така, публикувам тук, ако някой го намери за подходящ:

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.

Ако имате нужда и от номера на страницата, който може да се използва за определяне на стойността на отместване за пагинация, просто променете 1-вия ред по-горе по следния начин:

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

Ще имате pageNumber==0 за страница 1 и pageNumber==1 за страница 2 и така нататък.....



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. търсене на уместност в множество свързани таблици

  2. Как да изпълня заявка в MYSQL, без да я записвам в двоичния дневник

  3. MAMP PRO се срива; MySQL няма да стартира при рестартиране

  4. Грешка при създаване на процедура mysql CRUD

  5. Правене на уникален ключ, нечувствителен към главните букви