【问题标题】:Count number of IDs in one column matching multiple defined IDs (rows) in another column计算一列中与另一列中多个定义的 ID(行)匹配的 ID 数
【发布时间】:2013-09-16 06:16:37
【问题描述】:

我正在尝试创建一个报告工具,用于计算博客网站上与两个定义的分类 ID(3 和 11)都匹配的帖子数量。数据的结构使得每一行都有一个帖子 ID (object_id) 与一个分类 ID (term_taxonomy_id) 配对。帖子与多个分类法配对,因此 object_id 重复,不同的 term_taxonomy_id 在下一列。

这是我正在使用的表的一部分:

+-----------+------------------+
| object_id | term_taxonomy_id |
+-----------+------------------+
|      4070 |               11 |
|      4070 |               19 |
|      4074 |                3 |
|      4074 |               19 |
|      4076 |                3 |
|      4076 |               10 |
|      4076 |               11 |
|      4079 |                4 |
|      4079 |               11 |
|      4079 |               16 |
|      4081 |                3 |
|      4081 |               11 |
|      4081 |               20 |
|      4083 |                3 |
|      4083 |                4 |
|      4083 |               11 |
|      4083 |               16 |
|      4083 |               21 |
+-----------+------------------+

如果工作正常,上述表块的计数应为 3,计数 object_id 4076、4081 和 4083。

我可以使用这个查询创建一个我想要计算的 object_id 的列表:

SELECT object_id
FROM test_term_relationships
WHERE test_term_relationships.term_taxonomy_id IN (3,11)
GROUP BY object_id
HAVING COUNT(*) > 1

...但我不知道如何计算它们。我在这里从相关问题中尝试过的方法返回匹配 term_taxonomy_id 3 或 11 但不匹配两者的行数(在本例中为 9),或者它们返回三行“2”代替 object_id 到指示匹配的分类 ID 的数量 - 3 和 11。

我的问题:我应该使用什么查询来获得匹配 BOTH term_taxonomy_id 3 和 11 的帖子的正确计数?

提前致谢。

【问题讨论】:

  • 您的查询将返回同时具有 term_taxonomy_id 3 和 11 的对象。只需将其用作子查询并从中选择 count(*)。

标签: mysql sql wordpress count taxonomy


【解决方案1】:

只需将您的查询嵌套在派生表中:

SELECT COUNT(*)
FROM
 ( SELECT object_id
   FROM test_term_relationships
   WHERE test_term_relationships.term_taxonomy_id IN (3,11)
   GROUP BY object_id
   HAVING COUNT(*) > 1
 ) dt

【讨论】:

  • 哇,你是个巫师。谢谢! (我会赞成你的答案,但我没有代表!当当。)
  • 这不是魔法,它只是基本的 SQL :-)
猜你喜欢
  • 1970-01-01
  • 2015-06-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-10
  • 2022-10-05
  • 2017-09-29
  • 1970-01-01
相关资源
最近更新 更多