小编Ray*_*tos的帖子

MySQL-仅对前3行排序

我的客户希望在他的wordpress网站上进行搜索,以显示特定类别(高级产品)的前3个结果,然后按相关性对其余结果进行排序。

它必须是这样的:

搜索:青苹果

  1. 绿菠萝(高级)
  2. 红苹果(高级)
  3. 苹果派(高级)
  4. 青苹果
  5. 大青苹果
  6. 小青苹果

我在想是否有一些东西可以计算选定的行,然后创建如下的OrderBy条件:

SELECT * 
FROM `posts` 
ORDER BY ( 
    CASE WHEN `posts.category` LIKE 'premium' AND COUNT(ROW) < 4 
        THEN 0 
        ELSE 1 
    END ), 
    `posts.post_date` DESC
Run Code Online (Sandbox Code Playgroud)

观察:其余搜索(在前三个溢价之后)需要从字面上选择与搜索匹配的所有内容,这意味着它也可以选择溢价帖子,因此我不能使用“不喜欢premium”。

php mysql sql wordpress

5
推荐指数
1
解决办法
91
查看次数

标签 统计

mysql ×1

php ×1

sql ×1

wordpress ×1