0

I will like to order leagues (league of legends) in MySQL search.

My array:

$leagues = array(0 => 'unranked', 1 => 'bronze', 2 => 'silver', 
                 3 => 'gold', 4 => 'platin', 5 => 'diamond');

My MySQL query:

SELECT * FROM accounts order by league

It's ordering by alphabetically but i need to order by array key (diamond > platin > gold > silver > bronze > unranked)

How can I do this with array key?

Oluwafemi Sule
  • 36,144
  • 1
  • 56
  • 81

1 Answers1

2

Be careful because diamond, platin, etc., are not keys, but array values.

Considering that your league column on accounts table has numeric values (0 to 5) try to add a "DESC" on your query:

SELECT * FROM accounts order by league DESC

If your league column on accounts table has text values (diamond, platin, gold, silver, bronze and unranked) your query should be something like this:

SELECT * FROM accounts ORDER BY FIELD(league, "diamond", "platin", "gold", "silver", "bronze", "unranked")
Gabriel Souto
  • 600
  • 7
  • 19