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")
這樣的作品,但它太臭。
必須有一個更好的辦法
有趣的方法。 –