我有一张桌子,上面有一些材料清单。现在我想要的是,我想按特定顺序显示一些选定的材料。我现在正在运行的sql查询是:
SELECT * FROM my_materials WHERE material_id IN ($materialIds)
material_id
是表的主键,$materialdIds
是包含一些动态值的变量,可以说它具有这些值1,5,2,3,9
现在我要按顺序准确显示这些材料(1、5、2、3、9)。
这里是一个类似的问题,但是在这种情况下,值是特定的/静态的。但是在我的项目中,值是动态的。
sql ORDER BY multiple values in specific order?
如何使用动态值解决这个问题?
答案 0 :(得分:1)
您可以使用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