示例数据:
+--------------+------------+
|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
感谢您的所有帮助
答案 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