小编典典

如何按优先级ID列表对mysql结果排序?

sql

我有一个庞大的产品数据库,每个星期天,我的脚本都会激活50个新产品。问题是,根据我脚本中的某些规则,我发现我应该优先激活一些产品。(以您的示例为例,它应该始终优先激活其中名称为“
hello kitty”和“ meshuggah”的产品,然后再进行其他操作)

我的数据库表包含有关产品的信息和唯一ID。可以说脚本找到了这些ID中的5个,标题中有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,然后再按乘以id降序排列的products表中的其他id。

在一个查询中有可能吗?


阅读 216

收藏
2021-04-14

共1个答案

小编典典

使用 FIELD

SELECT * 
FROM products 
order by FIELD(id,59,47,28,29,20), id desc 
limit 50
2021-04-14