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

Класиране въз основа на две колони

Мисля, че следната заявка ще даде желания резултат. Първо трябва да изчислите ранга в подзаявка. Мисля, че е много по-прост от вашия подход, просто трябва да сортирате резултатите си по победи и разлика в низходящ ред (да предположим, че полетата са числа). След това просто избирате всички резултати и променяте поръчайте на плейъра.

 SELECT player, wins, diff,rank from
 (
 SELECT player, wins, diff, @winrank := @winrank + 1 AS rank
 from tmpPoradi,(SELECT @winrank := 0) r 
 ORDER BY wins DESC,diff DESC
 )  rt
ORDER BY player

Надявам се, че не пропускам нищо.




  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 AND клауза в една и съща колона няколко пъти

  2. Hibernate връща списък с нулеви стойности (анотация OneToMany с тип списък)

  3. как да актуализирате базата данни последователно с помощта на mysql

  4. Обяснение на MySQL High Availability Framework – Част II:Полусинхронна репликация

  5. Запитване за текуща дата във време mysql