我将如何执行以下查询:
SELECT
*
FROM
main_items
WHERE
group_id IN ('985ce7', 'fc154', 'f387cd', 'd3d27')
GROUP BY
group_id
ORDER BY
('985ce7', 'fc154', 'f387cd', 'd3d27') # this is the line I'm referring to
基本上,我希望按照我上面指定的确切顺序订购商品。我该怎么做?
最佳答案
尝试以下任一方法:
ORDER BY FIELD(group_id, '985ce7', 'fc154', 'f387cd', 'd3d27')
或
ORDER BY FIND_IN_SET(group_id, '985ce7,fc154,f387cd,d3d27')
如果 group_id
的值包含逗号,则第一个选项将成为唯一选项。
关于MySQL 提供精确的预先指定的 ORDER BY 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28052293/