sql按特定序列排序,具有动态多个值?

yebdmbv4  于 2021-06-18  发布在  Mysql
关注(0)|答案(1)|浏览(350)

这个问题在这里已经有答案了

mysql按给定顺序选择位置(7个答案)
两年前关门了。
我有一张table,上面有一些材料清单。现在我想要的是,我想要以特定的顺序显示一些选定的材质。我现在运行的sql查询是: SELECT * FROM my_materials WHERE material_id IN ($materialIds) 哪里 material_id 是表的主键,并且 $materialdIds 是一个包含一些动态值的变量,假设它有这些值 1,5,2,3,9 现在我想按这个顺序精确地显示这些材质(1,5,2,3,9)。
这里有一个类似的问题,但在这种情况下,值是特定的/静态的。但在我的项目中,价值观是动态的。
sql按多个值按特定顺序排序?
如何用动态值解决这个问题?

7d7tgy0s

7d7tgy0s1#

你可以用 Field() 功能:

SELECT * FROM my_materials 
WHERE material_id IN (1,5,2,3,9)
Order By Field(material_id, 1,5,2,3,9)

而不是 1,5,2,3,9 您可以指定 $materialIds

相关问题