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

Jak získat řádkovou pozici?

Přístup poddotazu, který jste viděli jako doporučený, se bude kvadraticky škálovat. http://www. xaprb.com/blog/2006/12/02/how-to-number-rows-in-mysql/ ukazuje mnohem efektivnější přístup s uživatelskými proměnnými. Zde je nevyzkoušená adaptace na váš problém:

@points := -1; // Should be an impossible value.
@num := 0;

SELECT id
  , points
  , @num := if(@points = points, @num, @num + 1) as point_rank
  , @points := points as dummy
FROM `users`
ORDER BY points desc, id asc;


  1. Aktualizace časového razítka Laravel bez explicitního volání

  2. MYSQL vybere kus řetězce a seřadí podle tohoto kusu

  3. Ukládání souborů jako blob v databázi ajax php pdo

  4. MySQL:Jak přidat sloupec, pokud ještě neexistuje?