Php 无需排序即可在查询中获取数据表单

Php 无需排序即可在查询中获取数据表单,php,Php,我以这种格式从查询中的中获取数据 SELECT * FROM wp_devices WHERE QID=’1′ and DId IN(36,71,37,39,38) 但是它们是以这种格式显示的DId在(36,37,38,39,71)中,而不是DId在(36,71,37,39,38)中 我应该怎么做?在转储数据之前尝试实际操作数据?每行将其DId作为行中的一个值 如果需要特定的排序,请在选择行并检索结果后按该顺序输出行。您应该添加到查询中。 因为您的订单有点奇怪,您必须编写代码: 我想您使用my

我以这种格式从查询中的
中获取数据

SELECT * FROM wp_devices WHERE QID=’1′ and DId IN(36,71,37,39,38)
但是它们是以这种格式显示的
DId在(36,37,38,39,71)
中,而不是
DId在(36,71,37,39,38)


我应该怎么做?

在转储数据之前尝试实际操作数据?每行将其
DId
作为行中的一个值

如果需要特定的排序,请在选择行并检索结果后按该顺序输出行。

您应该添加到查询中。 因为您的订单有点奇怪,您必须编写代码:

我想您使用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 )

请注意,字段与字符串一起工作时,会进行隐式类型转换。

除非您指定
ORDER BY
,否则生成的顺序是未定义的,通常反映了RDBMS在磁盘上存储数据和执行谓词匹配的方式。以上两种方法都是完美的。谢谢你们的支持。我欠你们的。你们是对的,但我认为当数据来自数据库时,第二种选择是很好的。干杯!!!好啊谢谢你的建议,我以后会记住的
SELECT * 
FROM wp_devices 
WHERE 
   QID='1' and 
   DId IN (36,71,37,39,38) 
ORDER BY
   field( DId, 36,71,37,39,38 )