Php 如何从MySQL表的有序ID列表中获取有序行列表?
我在PHP中工作,我有一个ID列表,这些ID是排名的,第一个是最重要的。我正在使用类似以下内容检索行(为了清晰起见简化): 其基本原理如下:Php 如何从MySQL表的有序ID列表中获取有序行列表?,php,mysql,Php,Mysql,我在PHP中工作,我有一个ID列表,这些ID是排名的,第一个是最重要的。我正在使用类似以下内容检索行(为了清晰起见简化): 其基本原理如下: WHERE id in ('456', '123', '789') 问题是,来自数据库的结果没有按照列表的顺序返回。按此顺序返回的最佳方法是什么?请查看按字段排序的语法 这是一个例子 select * from table where id in (x,y,z) order by field(id,x,y,z) 使用 其中,which是您希望排序的字段
WHERE id in ('456', '123', '789')
问题是,来自数据库的结果没有按照列表的顺序返回。按此顺序返回的最佳方法是什么?请查看按字段排序的语法 这是一个例子
select * from table
where id in (x,y,z)
order by field(id,x,y,z)
使用
其中,
which
是您希望排序的字段。显然,问题是要按照查询中使用的ID的顺序从MySQL获取链接。”因此,“按什么顺序”并不是这个问题的答案。当从Redis(在Redis/MySQL组合中)读取的行中获取数据时,按照给定ID的顺序获取信息特别有用。例如,从MySQL获取Redis中保存的分数的数据特别有用!
select * from table
where id in (x,y,z)
order by field(id,x,y,z)
$sql = "SELECT * FROM books
WHERE id in ('$id_as_sql_list')
ORDER BY YourRankingField ";
$sql = "SELECT * FROM books
WHERE id in ('$id_as_sql_list') ORDER BY whatever";