gpt4 book ai didi

MYSQL统计同一个表中某个问题的答案数

转载 作者:行者123 更新时间:2023-11-29 19:02:34 24 4
gpt4 key购买 nike

我有一个包含问题和答案的表,问题有一个包含问题本身的主题字段,答案在主题字段上有一个 NULL。有一个描述字段用作问题中的文本以及该问题的答案。
每行都有一个字段来确定它是问题还是答案,parent_id 字段如果为 0,则表示它是一个问题,如果假设为 1,则表示它是一个答案。

示例:

id | subject              | description          | parent_id
1 How old are you? Tell us your age. 0
2 (NULL) 40 1
3 (NULL) 30 1
4 Where are you born? Tell us the place you
are from.
5 (NULL) USA 4

依此类推,我想要完成的是获取每个问题的所有回复数。我的结果集是这样的

 subject              |       replies
How old are you? 2
Where are you born 1

我尝试了这个,但它不起作用,任何帮助将不胜感激。

 SELECT q.subject, COUNT(q.parent_id) as replies FROM question q WHERE q.parent_id = 0 GROUP BY q.subject

似乎如果两个问题相同,那么我会将它们分组在一起,并在每个问题都有单独且不同的 ID 时增加回复列值!

最佳答案

您必须查询同一个表两次。一次作为问题,另一次作为答案:

select q.id, q.subject, count(1) as replies 
from questions q, questions a
where q.subject is not null and a.parent_id = q.id
group by 1.id, 1.subject

但正确的做法是将问题和答案放入单独的表格中。

关于MYSQL统计同一个表中某个问题的答案数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43745183/

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