特定の順序で保持する必要があるIDのセットをフィルタリングする必要があります。問題は、フィルター(この場合はshops.sector)が一部のレコードを除外すると、ORDERBYFIELD構文が無効になることです。エラーメッセージは次のとおりです。「order句の列'id'があいまいです」</p>
完全なクエリは次のとおりです。
SELECT DISTINCT `companies`.id FROM `companies`
LEFT OUTER JOIN `shops` ON shops.company_id = companies.id
WHERE (companies.id IN (96296,1,53585) AND shops.sector = 'Mobile')
ORDER BY FIELD(id, 96296,1,53585) LIMIT 0, 30;
フィルタリングされた結果を最初に知らずに順序を維持する方法はありますか?可能であれば、これを1つのクエリだけに保持したいと思います。