Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MySql:Encontre o número da linha do registro específico


Meu propósito está resolvido :) Então, estou postando aqui se alguém achar adequado:
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.

Se você também precisar do número da página que pode ser usado para determinar o valor do deslocamento para paginação, basta alterar a 1ª linha acima assim:
SELECT d.myRowSerial, FLOOR((d.myRowSerial-1)/10) AS pageNumber
-- Say, 10 is per page;

Você terá pageNumber==0 para a página 1 e pageNumber==1 para a página 2 e assim por diante.....