Mysql 我如何在premium始终位于顶部的情况下随机执行此查询
样本数据:Mysql 我如何在premium始终位于顶部的情况下随机执行此查询,mysql,Mysql,样本数据: +--------------+------------+ |product_price | premium | +--------------+------------+ | 5000 | Premium | | 600 | Premium | | 800 | free | | 780 | free | | 2500 | free | |
+--------------+------------+
|product_price | premium |
+--------------+------------+
| 5000 | Premium |
| 600 | Premium |
| 800 | free |
| 780 | free |
| 2500 | free |
| 50 | free |
+--------------+------------+
查询:
SELECT `a`.`product_name`,
`b`.`name`,
`a`.`product_images`,
`a`.`slug`,
`a`.`product_type`,
`a`.`product_price`,
`a`.`premium`
FROM (`directory_product` a) JOIN `directory_items` b ON `b`.`id` = `a`.`id_directory`
ORDER BY `a`.`premium` DESC LIMIT 6
感谢您的帮助如果我理解的很好,您想要顶部
Premium
列中的Premium
值吗
然后
order by case when premium = 'Premium' then 0 else 1 end
,premium
ORDER BY RAND() + CASE WHEN premium = 'Premium' THEN 100 ELSE 0 END