gpt4 book ai didi

php - MYSQL 按三列排序

转载 作者:行者123 更新时间:2023-11-29 12:02:24 25 4
gpt4 key购买 nike

我目前有一个 MYSQL 表,如下所示:开始日期、最后发布日期、置顶帖

我现在正在做

ORDER BY sticky DESC, lastpostdate DESC, date DESC

这几乎有效,它将粘性线程放在顶部(应该如此),但是它然后将最新的线程放在底部,将带有回复的线程放在顶部,即使新线程是在回复后创建的.

示例表:

 Date         lastpostdate   sticky
1440291308 | 0 | 0
1938275440 | 1938293999 | 1
1440205782 | 1440212200 | 0

应该按 2,1,3 排序,因为 2 是置顶帖,1 是新帖子,3 有回复,但在 1 发布之前。

最佳答案

这按预期工作,因为您将 LastPostdate 设置为 0。仅当前一个排序列上的值相等时才会使用后续排序列。

例如,如果两个粘性值均设置为 0,则顺序将查找下一个排序列。仅当第一列和第二列相等时才引用第三列。

您应该将lastpostdate 设置为线程最初创建时的日期,这将解决您的问题并消除您对第三个排序列的需要。

关于php - MYSQL 按三列排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32161950/

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