SQL ORDER BY 具有动态多个值的特定序列?
SQL ORDER BY specific sequence with dynamic multiple values?
我有一个 table,其中有一些 material 列表。现在我想要的是,我想按特定顺序显示一些选定的 material。我现在 运行 的 sql 查询是:
SELECT * FROM my_materials WHERE material_id IN ($materialIds)
其中 material_id
是 table 的主键,$materialdIds
是一个包含一些动态值的变量,假设它具有这些值 1,5,2,3,9
现在我想按顺序(1,5,2,3,9)显示那些 material。
这是一个类似的问题,但在这种情况下,值为 specific/static。但在我的项目中,值是动态的。
sql ORDER BY multiple values in specific order?
如何使用动态值解决这个问题?
您可以使用Field()
函数:
SELECT * FROM my_materials
WHERE material_id IN (1,5,2,3,9)
Order By Field(material_id, 1,5,2,3,9)
您可以指定 $materialIds
而不是 1,5,2,3,9
我有一个 table,其中有一些 material 列表。现在我想要的是,我想按特定顺序显示一些选定的 material。我现在 运行 的 sql 查询是:
SELECT * FROM my_materials WHERE material_id IN ($materialIds)
其中 material_id
是 table 的主键,$materialdIds
是一个包含一些动态值的变量,假设它具有这些值 1,5,2,3,9
现在我想按顺序(1,5,2,3,9)显示那些 material。
这是一个类似的问题,但在这种情况下,值为 specific/static。但在我的项目中,值是动态的。
sql ORDER BY multiple values in specific order?
如何使用动态值解决这个问题?
您可以使用Field()
函数:
SELECT * FROM my_materials
WHERE material_id IN (1,5,2,3,9)
Order By Field(material_id, 1,5,2,3,9)
您可以指定 $materialIds
1,5,2,3,9