sql >> Database teknologi >  >> RDS >> Mysql

MySql:Find rækkenummer for specifik post

Mit formål er løst:)Så jeg skriver her, hvis nogen finder det passende:

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.

Hvis du også har brug for sidetallet, som kan bruges til at bestemme forskydningsværdien for paginering, skal du blot ændre den første linje ovenfor på denne måde:

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

Du vil have pageNumber==0 for side 1, og pageNumber==1 for side 2 og så videre.....



  1. MySQL - Tæller i gruppe

  2. Databaseskema, autoincrement

  3. Gruppér efter alias (Oracle)

  4. Er der en måde at generere et UML-klassediagram fra en eksisterende MySQL-database?