是否可以使mysql查询返回没有默认顺序的值。例如,使用以下查询
select id_product,name from sample where id_product in ('675','123','745','954').
但它通过id_product给出输出行的顺序。 输出:
id_product,Name
123 ,abc
675 ,xzy
745 ,bsh
954 ,dsh
我希望结果应该是这样的,没有默认顺序。
id_product,Name
675 ,xzy
123 ,abc
745 ,bsh
954 ,dsh
任何帮助将不胜感激。
答案 0 :(得分:5)
总是有订单。如果您未使用ORDER BY
指定任何特定内容,则可以按照它们存储在数据库中的顺序返回行。
答案 1 :(得分:2)
我建议在数据库中添加Sort
列以强制执行自定义订单。无论如何,你可以使用FIND_IN_SET
函数使用一个小技巧:
SELECT id_product, name
FROM sample
WHERE id_product IN (675,123,745,954)
ORDER BY FIND_IN_SET(id_product, '675,123,745,954')
答案 2 :(得分:2)
如果你想要随机顺序:“按rand()排序”;
答案 3 :(得分:0)
如果您想要随机订单,可以这样做:
SELECT id_product,name FROM sample WHERE id_product IN ('675','123','745','954')
ORDER BY NEWID()
答案 4 :(得分:0)