我使用这个查询:的MySQL凡结果是无序
SELECT * FROM `challenges` WHERE id IN (#, #, #, #)
凡#的可用单排4关联的ID号。这很有效,因为它允许我在一个查询中从表中抽出4行,但是有一个奇怪的问题。我不知道为什么它会这样做,但结果中行的顺序与查询中的顺序不同。例如:
SELECT * FROM `challenges` WHERE id IN (108, 208, 134, 142)
我希望他们能够按照这个顺序出来,但他们反而出来是这样的:
108,134,142,208
我发现的唯一的事情是, challenge表中的每一行都有一个名为“first_recorded”的字段,并且该查询出来的行的顺序按该字段排序,按升序排列。有没有办法强制查询以与订购ID相同的顺序排列结果?
http://stackoverflow.com/questions/4858828/sql-where-in-sort-by-order我认为这是一个类似于你的问题。 – prakashkut
哎呀,对不起。我搜索了大约10分钟,但找不到任何东西(诚然,我的谷歌搜索技能并不是那么好)。当我输入问题标题时,我甚至没有想到。 – HaLo2FrEeEk