Mysql
 sql >> база данни >  >> RDS >> Mysql

как да получите позицията на сортираните редове с помощта на mysql и php

Има два начина да го направите:

Метод 1:

SET @i = 0;

SELECT * FROM 
scores s1 INNER JOIN (SELECT *, @i := @i + 1 AS rank FROM scores ORDER BY score DESC) AS s2 USING (id);

Метод 2:

SELECT *, (SELECT COUNT(1) AS num FROM scores WHERE scores.score > s1.score) + 1 AS rank FROM scores AS s1
ORDER BY rank asc


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL няма да стартира

  2. #1214 - Използваният тип таблица не поддържа индекси FULLTEXT

  3. Преобразуване на формат на дата в PHP

  4. Не мога да използвам псевдоним в sql delete

  5. Не може да се свърже с MySql база данни на отдалечен linux сървър от Windows GUI инструмент