sql >> Database >  >> RDS >> Mysql

MySql:zoek het rijnummer van een specifiek record

Mijn doel is opgelost :) Dus ik post hier als iemand het geschikt vindt:

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.

Als je ook het paginanummer nodig hebt dat kan worden gebruikt om de offsetwaarde voor paginering te bepalen, verander dan gewoon de eerste regel hierboven als volgt:

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

Je hebt pageNumber==0 voor pagina 1, en pageNumber==1 voor pagina 2 enzovoort.....



  1. Hoe Room Persistence Library te gebruiken met een vooraf ingevulde database?

  2. MySQL Tel verschillende waarden uit één kolom

  3. CakePHP Model Query Retourgegevens Formatteren

  4. Row_to_json() gebruiken met geneste joins