如何通过优先级ID列表对mysql结果进行排序?

Kri*_*eth 2 php mysql sql

我有一个大型产品数据库,每个星期天,我的脚本都会激活50个新产品.问题是,基于我脚本中的一些规则,我发现了一些我应该优先激活的产品.(您的例子,可以说应该总是优先考虑激活的产品名称为"凯蒂猫"和他们"米肖格",一切之前)

我的db表包含有关产品和唯一ID的信息.让我们说脚本找到5个这样的id,标题中有hello kitty.

那么,我怎样才能进行查询,以便优先项目排在最前面,然后是id desc?

这里有一些伪代码:

SELECT * FROM products order by (id='59', id='47', id='28', id='29', id='20'), id desc limit 50

结果应首先给我id 59,47,28,29和20,然后在product表中按id降序排序其他id.

这可能在一个查询?

Joh*_*Woo 8

使用 FIELD

SELECT * 
FROM products 
order by FIELD(id,59,47,28,29,20), id desc 
limit 50
Run Code Online (Sandbox Code Playgroud)