Php 按字段排序不工作,但无错误

Php 按字段排序不工作,但无错误,php,mysql,Php,Mysql,我有一个这样的疑问 select * from my_table where `status`='1' ORDER BY FIELD(city_id,548) ASC; 我的目的是显示表中的所有记录,但应首先显示city\u id=548的记录 当前显示所有记录,但没有所需的排序!有什么想法吗?实际上它正在工作,但您需要将其更改为DESC,因为FIELD()返回参数中值的索引 除了接受多个参数的FIELD()之外,如果只有一个条件,也可以使用= ORDER BY (city_id = 548)

我有一个这样的疑问

select * from my_table where `status`='1' ORDER BY FIELD(city_id,548) ASC;
我的目的是显示表中的所有记录,但应首先显示
city\u id=548
的记录


当前显示所有记录,但没有所需的排序!有什么想法吗?

实际上它正在工作,但您需要将其更改为
DESC
,因为
FIELD()
返回参数中值的
索引

除了接受多个参数的
FIELD()
之外,如果只有一个条件,也可以使用
=

ORDER BY (city_id = 548) DESC
city\u id=548
true
时,它返回
1
,否则
0
,这就是我们使用
DESC
的原因

sql中的降序由
DESC
关键字表示,我认为其他值小于548,这就是为什么它不能像您期望的那样工作

select * from my_table where `status`='1' ORDER BY FIELD(city_id,548) DESC;

提供一些示例数据,城市id的数据类型是什么?将
asc
更改为
desc