如何计算和回显值
Posted
技术标签:
【中文标题】如何计算和回显值【英文标题】:How to count and echo the value 【发布时间】:2015-02-14 04:09:17 【问题描述】:我有一个包含这两个表的数据库 - questions
和 answers
。
表定义
questions - id, question, asked_by
answers - id, question_id(foreign key), answers, sent_by
我想计算并回显每个问题的答案总数。
样本数据
question
id question asked_by
1 how r u emma
2 r u ok sam
answer
id question_id answer sent_by
1 2 good john
2 1 fine sam
3 2 WTG biggie
在显示所有问题的页面上,我想按每个问题和答案的数量来写。 question2= 2
和 question1=1
的答案数。
【问题讨论】:
好吧,对于这样的情况,我更喜欢 join 从 2 个表中选择行 Read this tutorial on join 【参考方案1】:对于每个带有GROUP BY
子句的问题,您应该使用INNER JOIN
和COUNT
条目:
SELECT t1.id
, COUNT(*)
FROM question t1
JOIN answer t2 ON t1.id = t2.question_id
GROUP BY t1.id
【讨论】:
效果很好,但没有得到任何答案的问题不会显示在问题页面上【参考方案2】:尝试这种方式先COUNT
,JOIN
,然后GROUP BY
SELECT q.question,count(*) AS answers FROM question q INNER JOIN answer a ON q.id=a.question.id
GROUP BY q.id
【讨论】:
没有得到任何答案的问题不会显示在问题页面上。谢谢以上以上是关于如何计算和回显值的主要内容,如果未能解决你的问题,请参考以下文章