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