You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SQL多排序场景下ORDER BY DESC失效,pubdate排序异常求助

解决SQL查询排序问题

问题根源

你的SQL语句错误在于ORDER BY子句的逻辑:把匹配条件和排序字段混在一起,导致排序逻辑完全偏离预期;同时WHERE和ORDER里的匹配条件不统一,也会引发执行错误。

正确方案(基于你原本可用的LIKE匹配)

保留你能正确匹配数据的title LIKE ? AND description LIKE ?条件,直接在ORDER BY中指定按pubdate降序排序即可:

SELECT source, title, description, link, pubdate
FROM feeds
WHERE title LIKE ? AND description LIKE ?
ORDER BY pubdate DESC
LIMIT 60

因为pubdate是数字类型的时间戳,DESC会让数值更大的(更新的时间)排在最前面,正好满足你“新、新、旧、旧、旧”的排序需求。

如果你想结合全文搜索(MATCH AGAINST)

如果你的初衷是使用全文搜索而非LIKE,那需要统一匹配逻辑,同时可以按相关性+时间排序:

SELECT source, title, description, link, pubdate,
       MATCH(title, description) AGAINST(? IN BOOLEAN MODE) AS relevance
FROM feeds
WHERE MATCH(title, description) AGAINST(? IN BOOLEAN MODE)
ORDER BY relevance DESC, pubdate DESC
LIMIT 60

这个语句会先按全文搜索的匹配度排序,匹配度相同的内容再按时间从新到旧排列。

内容的提问来源于stack exchange,提问作者namename

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 07:42:54