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

Rangering baseret på to kolonner

Jeg tror, ​​at følgende forespørgsel vil få det resultat, du har brug for. Først skal du beregne rang i en underforespørgsel. Jeg tror, ​​det er meget enklere end din tilgang, du skal bare sortere dine resultater efter gevinster og diff i faldende rækkefølge (hvis felterne er tal). Så vælger du bare alle resultaterne og ændrer rækkefølge til afspillerbeskrivelse

 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

Håber ikke jeg går glip af noget.




  1. Errcode 13 , SELECT INTO OUTFILE problem

  2. 2 fremmednøgler, der refererer til den samme primære nøgle i MySQL

  3. Er der nogen sql-forespørgsel for at kontrollere, at værdien findes eller ikke i db-tabellen

  4. Fatal fejl:Kald til udefineret funktion:MDB2_Driver_MYSQL::getAll()