mysql按字符串排序,数组键为

时间:2017-11-08 01:05:19

标签: php mysql arrays

我想在MySQL搜索中订购联盟(英雄联盟)。

我的阵列:

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

我的MySQL查询:

SELECT * FROM accounts order by league

按字母顺序排序,但我需要按数组键排序(菱形>铂金>金>银>青铜>未排名)

如何使用数组键执行此操作?

1 个答案:

答案 0 :(得分:2)

小心,因为钻石,铂金等不是键,而是数组值。

考虑到您的帐户表上的联盟列具有数字值(0到5),请尝试添加" DESC"在您的查询:

SELECT * FROM accounts order by league DESC

如果您的帐户表上的联盟列有文本值(菱形,铂金,黄金,白银,青铜和未排名),您的查询应该是这样的:

SELECT * FROM accounts ORDER BY FIELD(league, "diamond", "platin", "gold", "silver", "bronze", "unranked")