1
私のようなクエリがある:カスタムオーダーは
SELECT *
FROM table1
WHERE (table1.first_key, table1.second_key) IN ((2, 1), (1, 1), (2, 2));
私は結果が欲しい、それIN(...)コンテンツの順。
それは1列のみだった場合、私が使用している可能性:
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")
が、それは悪臭を放ちます。
興味深いアプローチを。 –