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