我以这种格式从IN
查询中获取数据
SELECT * FROM wp_devices WHERE QID=’1′ and DId IN(36,71,37,39,38)
但是它们以这种格式DId IN(36,37,38,39,71)
而不是DId IN(36,71,37,39,38)
显示。
我该怎么办?
您应该在查询中添加order by子句。因为您的订单有点奇怪,您必须编写案例工作流代码:
SELECT *
FROM wp_devices
WHERE
QID='1' and
DId IN (36,71,37,39,38)
ORDER BY
case DId
when 36 then 1
when 71 then 2
when 37 then 3
when 39 then 4
when 38 then 5
end
我想您使用mysql是因为您有另一个问题被标记为这样。然后您可以使用字段函数简化以前的查询:
SELECT *
FROM wp_devices
WHERE
QID='1' and
DId IN (36,71,37,39,38)
ORDER BY
field( DId, 36,71,37,39,38 )
请注意,字段在进行隐式类型转换时可用于字符串。
在转储数据之前,是否尝试实际操作数据?每一行都将其DId
作为该行中的值之一。
如果需要特定的排序,请在选择行并检索结果后,按该顺序输出行。