1
我有这样一个查询:多列按订单
SELECT *
FROM table1
WHERE (table1.first_key, table1.second_key) IN ((2, 1), (1, 1), (2, 2));
我想要的结果吧IN(....)含量的顺序。
如果是只有一列,我可以用:
ORDER BY FIELD(table1.first_key, 1, 5, 4, 7)
我不知道如何有一个好MySQL的方式多列相同的结果。
这是我最好的尝试,到目前为止,它的工作原理,但会在巨大的表慢:
SELECT CONCAT(first_key, "_", second_key) AS string_hack, first_key, second_key,....
FROM table1
WHERE (first_key, second_key) IN ((2, 1), (1, 1), (2, 2))
ORDER BY FIELD(string_hack, "2_1", "1_1", "2_2")
这样的作品,但它太臭。
必须有一个更好的办法
有趣的方法。 –