我正在尝试设置查询以获取3个最近的节点(nid)foreach taxonomy term(tid)。这可以设置一个查询吗?
以下是我的表格设置方式(不显示完整的表格信息)
taxonomy_index (包含与节点关联的分类标识)
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个tids节点,我正在设想这样的结果:20,21,22:
tid nid
20 1
20 2
20 4
21 1
21 2
21 4
22 1
22 5
22 9
这可以在一个查询中使用吗?
答案 0 :(得分:0)
您可以尝试以下查询: -
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;
这里我使用了&lt; = 3 #cond,如果任何tid没有3条记录,它将获取2或1,以较多者为准。