gpt4 book ai didi

mysql - 在一次查询中获取每个分类术语的最新 3 个节点

转载 作者:行者123 更新时间:2023-11-29 22:28:03 24 4
gpt4 key购买 nike

我正在尝试设置一个查询来获取每个分类术语 (tid) 的 3 个最新节点 (nid)。这可以在一个查询上设置吗?

以下是我的表格的设置方式(不显示完整的表格信息)

taxonomy_index(保存与节点关联的分类ID)

nid      tid
1 20
1 21
1 22
2 20
2 21
3 23
3 24
4 20
4 21
5 20
5 21
5 22
5 23
6 20
6 21
6 24
7 20
7 21
8 20
8 21
9 20
9 21
9 22
9 23
.....

节点(节点信息)

nid    title           created
1 Article One 1105350260
2 Article Two 1105350259
3 Article Three 1105350261
4 Article Four 1105350280
5 Article Five 1105350290
6 Article Six 1105350290
.....

如果我想查看最新的 3 个节点的 tid:20、21、22,我会设想这样的结果:

tid     nid
20 1
20 2
20 4
21 1
21 2
21 4
22 1
22 5
22 9

这可以在一个查询中实现吗?

最佳答案

您可以尝试以下查询:-

SELECT t.tid, t.nid
FROM taxonomy_index s
WHERE (SELECT COUNT(*)
FROM taxonomy_index f
WHERE f.tid = s.tid
AND f.nid <= s.nid
) <= 3;

这里我使用了<=3 #cond,如果任何tid没有3条记录,它将获取2或1条记录,以较多者为准。

关于mysql - 在一次查询中获取每个分类术语的最新 3 个节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30080078/

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