sql >> Databáze >  >> RDS >> Mysql

MySql:Najděte číslo řádku konkrétního záznamu

Můj účel je vyřešen:)Takže, pokud to někdo považuje za vhodné, posílám sem:

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.

Pokud potřebujete také číslo stránky, které lze použít k určení hodnoty posunu pro stránkování, změňte 1. řádek výše takto:

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

Budete mít pageNumber==0 pro stránku 1 a pageNumber==1 pro stránku 2 a tak dále.....



  1. Správně používat třídy v jiných třídách v php?

  2. Počítání dnů mezi dvěma daty, kromě víkendů (pouze MySQL)

  3. Postgres:definovat výchozí hodnotu pro selhání CAST?

  4. Nastavte MySQL 8 z binárního Tarballu