首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql查询计数

mysql查询计数
EN

Stack Overflow用户
提问于 2012-03-26 21:00:29
回答 2查看 77关注 0票数 0

我正在执行sql查询,以便从db,db结构中获取值,如下所示.

fcat

代码语言:javascript
复制
| id | title  | section |
+----+--------+---------+
|  1 | test   | gd      |
+----+--------+---------+

专题

代码语言:javascript
复制
| id | title  | cat_id  |
+----+--------+---------+
|  1 | test1  | 1       |
+----+--------+---------+

fpost

代码语言:javascript
复制
| id | post  | topic_id |
+----+-------+----------+
|  1 | post  | 1        |
+----+-------+----------+

我希望获得给定类别的主题和帖子的总数,并使用以下查询.

代码语言:javascript
复制
SELECT id, title (SELECT count(id) FROM ftopics WHERE cat_id = id) AS total_topics FROM fcats WHERE section = "gd"

它给出了正确的结果,但我如何才能得到所有类别的帖子总数,我对此感到困惑,请帮我写这个查询。谢谢。

EN

回答 2

Stack Overflow用户

发布于 2012-03-26 21:03:01

试试这个:

代码语言:javascript
复制
SELECT
    t.id,
    t.title,
    COUNT(f.id) + COUNT(p.id) AS total
FROM fcats t
LEFT OUTER JOIN ftopics f
    ON f.cat_id = t.id
LEFT OUTER JOIN fposts p
    ON p.cat_id = t.id
WHERE t.section = "gd"
GROUP BY t.id, t.title
票数 0
EN

Stack Overflow用户

发布于 2012-03-26 21:09:26

代码语言:javascript
复制
SELECT
    t.id,
    t.title,
COUNT(f.id) AS total_topics,
(SELECT COUNT(p.id) FROM fposts WHERE topic_id = t.id) total_posts
FROM fcats t
INNER JOIN ftopics f
    ON f.cat_id = t.id

WHERE t.section = "gd"
GROUP BY t.id, t.title

不确定这是否是正确的语法,更新其他答案代码,以尝试回答您对这两个总计的请求。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9879794

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档