gpt4 book ai didi

mysql排序顺序操作

转载 作者:行者123 更新时间:2023-11-29 04:52:30 25 4
gpt4 key购买 nike

我有一个与我目前正在进行的项目相关的问题。在我的脚本中,所有帖子当前都以这种方式显示:

      $sql = "SELECT * FROM posts" 
. "\n WHERE page_slug = '" . $this->slug . "'"
. "\n AND active = '1'"
. "\n ORDER BY id DESC" . $pg->limit;
$result = $db->fetch_all($sql);

这很好,尽管现在的问题是,我希望某个项目在所有其他项目之前首先显示。我试图给这个特定项目一个非常高的 ID(例如 1000),尽管如果我创建一个新帖子,新帖子 ID 突然以 1001 开头并且它跳到第一个位置。

有没有人知道我如何避免这种情况发生,或者至少我如何通过某种方式调整排序顺序来“欺骗”特定项目使其位于第一位?

一些建议将不胜感激。

非常感谢,帕特里克

最佳答案

$sql = "SELECT *, case when id = 1000 then 0 else 1 end as OrderMe  FROM posts" 
. "\n WHERE page_slug = '" . $this->slug . "'"
. "\n AND active = '1'"
. "\n ORDER BY OrderMe, id DESC" . $pg->limit;
$result = $db->fetch_all($sql);

当然,您不必在 case 语句中使用 1000 作为 id,但您提到这是您想要放在最前面的那个的 id...

关于mysql排序顺序操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10135037/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com