我试图在PHP中运行SQL查询并按一个列排序,但按特定顺序排序
我试过这个:
$sql3="SELECT * from extension
where client_id = '".$result2["id"]."'
ORDER BY FIELD(type, 'term', 'queue', 'ivr', 'voicecentre', 'conference', 'callback', 'intercom', 'queuecentre') ";
Run Code Online (Sandbox Code Playgroud)
但它根本就没有订购
尝试这个
ORDER BY case
when type= 'term' then 0
when type= 'queue' then 1
when type= 'ivr' then 2
when type= 'voicecentre' then 3
when type= 'conference' then 4
when type= 'callback' then 5
when type= 'intercom' then 6
when type= 'queuecentre' then 7
else 8
end ASC
Run Code Online (Sandbox Code Playgroud)
编辑:
我想你必须改变这里的引号
where client_id = '".$result2['id']."'
Run Code Online (Sandbox Code Playgroud)
编辑2:
但如果您使用的是 SQL 陷阱,那么此函数(ORDER BY FIELD)将无法正确排序。
在这里查看这篇文章并修复它。