gpt4 book ai didi

mysql - 试图获取独特的论坛帖子列表,但不起作用

转载 作者:行者123 更新时间:2023-11-30 01:14:18 24 4
gpt4 key购买 nike

快速概述,我正在尝试从我的论坛表格中获取最后 5 个论坛帖子,以在 RHS 列中向用户显示。

我还想要的是,这个列表应该只显示唯一的论坛帖子标题(有时用户在多个论坛中发布相同的帖子,我不希望我的 RHS 框可能显示相同的 5 个“标题”,即使他们属于不同的论坛类别)。

但是这个 sql 工作并不安静...它完全跳过了多次具有相同标题的任何论坛帖子,我仍然想要多个标题条目,但只有一个。

SELECT 
f.id,
f.title,
fm.url_path
FROM forum_posts AS f
INNER JOIN forum_master AS fm
ON f.forum_id = fm.id
WHERE deleted = 0
AND blacklisted = 0
GROUP BY f.title
ORDER BY f.id DESC
LIMIT 5

例如,考虑这个表

id  title
1 a
2 b
3 c
4 d
5 e
6 f
7 f

我想返回 id 7,5,4,3,2。我仍然想要标题 f 的一个实例,但只有一个。我的代码似乎是 return 1-5 (完全跳过 id 6-7,因为它们具有相同的标题)。

有什么想法吗???

最佳答案

尝试我这里的嵌套查询:http://sqlfiddle.com/#!2/758b3e/11

SELECT
f.title,
f.id,
fm.url_path
FROM forum_posts AS f
INNER JOIN forum_master AS fm
ON f.forum_id = fm.id
WHERE deleted = 0
AND blacklisted = 0
AND (SELECT id
FROM forum_posts
WHERE title = f.title
ORDER BY id DESC
LIMIT 1) = f.id
ORDER BY f.id DESC
LIMIT 5

我没有使用分组依据(我相信在这种情况下在 Oracle 中会失败 - 无法对多个 ID 进行分组),而是将 id 过滤为 WHERE 子句中的单个可能性,这会删除重复项并选择最高的值ID。按查询分组正在获取最低的 ID,因此即使它有效,它也不会正是您正在寻找的解决方案。

关于mysql - 试图获取独特的论坛帖子列表,但不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19208036/

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