我如何随机优先随机查询此查询

时间:2013-12-09 07:49:09

标签: mysql

示例数据:

+--------------+------------+
|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

感谢您的所有帮助

2 个答案:

答案 0 :(得分:1)

如果我理解得很清楚,您希望Premium列上的premium值为最高价?

然后

order by case when premium = 'Premium' then 0 else 1 end
         ,premium

答案 1 :(得分:0)

ORDER BY RAND() + CASE WHEN premium = 'Premium' THEN 100 ELSE 0 END