mysql按带有数组键的字符串排序[重复]
Posted
技术标签:
【中文标题】mysql按带有数组键的字符串排序[重复]【英文标题】:mysql order by string with array key [duplicate] 【发布时间】:2018-04-20 13:31:01 【问题描述】:我想在 mysql 搜索中订购联赛(英雄联盟)。
我的数组:
$leagues = array(0 => 'unranked', 1 => 'bronze', 2 => 'silver',
3 => 'gold', 4 => 'platin', 5 => 'diamond');
我的 MySQL 查询:
SELECT * FROM accounts order by league
它按字母顺序排序,但我需要按数组键排序(钻石>铂金>金>银>青铜>未排序)
如何使用数组键做到这一点?
【问题讨论】:
【参考方案1】:要小心,因为菱形、铂金等不是键,而是数组值。
考虑到您的帐户表中的联赛列具有数值(0 到 5),请尝试在您的查询中添加“DESC”:
SELECT * FROM accounts order by league DESC
如果您的帐户表中的联赛列包含文本值(钻石、白金、金、银、铜和未排名),您的查询应该是这样的:
SELECT * FROM accounts ORDER BY FIELD(league, "diamond", "platin", "gold", "silver", "bronze", "unranked")
【讨论】:
是的,如果他有一个league
(文本)字段,这将起作用。但考虑到他试图使用数组来映射它,它看起来可能是 ID (0,1,2,3,4,5)。
谢谢,它解决了我的问题!以上是关于mysql按带有数组键的字符串排序[重复]的主要内容,如果未能解决你的问题,请参考以下文章