php – 使用MySQL的UNION中每个SELECT的不同ORDER BY

使用PHP和MySQL,有没有办法为UNION中的每个SELECT语句使用不同的ORDER BY?

SELECT * FROM the_table WHERE color = 'blue' ORDER BY price ASC LIMIT 5
UNION ALL
SELECT * FROM the_table WHERE color = 'red' ORDER BY RAND() LIMIT 10

以上陈述不起作用.看来你只能对最终结果集进行ORDER BY.有没有办法在第一个SELECT上执行ORDER BY,然后使用UNION在第二个SELECT上执行不同的ORDER BY?
最佳答案

(SELECT * FROM the_table WHERE color = 'blue' ORDER BY price ASC LIMIT 5)
UNION ALL
(SELECT * FROM the_table WHERE color = 'red' ORDER BY RAND() LIMIT 10)

dawei

【声明】:丽水站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。