首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要MySQL递归查询/语句

问需要MySQL递归查询/语句
EN

Stack Overflow用户
提问于 2013-12-05 03:22:27
回答 1查看 100关注 0票数 0

我如何计算每个类别的门票?main-categories应该包括每个子类别-ticket。

表:

代码语言:javascript
复制
ticket(id, category_id)
category(id, name, parentcategory_id) 

我需要一个MySQL查询。是否可以使用MySQL和这种表结构?如果不是,怎么做?

示例数据:

代码语言:javascript
复制
ticket(1,1); 
ticket(2,2); 
ticket(3,3);
ticket(4,2);

category(1, 'Hardware', NULL)
category(2, 'Printer', 2)
category(3, 'Software', NULL)

所以我有:

代码语言:javascript
复制
Software - 1 Ticket
Printer - 2 Tickets
Hardware - 1 Main Ticket, 2 Sub Tickets = 3 Tickets
EN

回答 1

Stack Overflow用户

发布于 2013-12-05 03:30:15

试一试

代码语言:javascript
复制
SELECT C.name AS 'Category', COUNT(ticket.id) AS 'Ticket Count'  
FROM ticket
JOIN category AS C ON C.id = ticket.category_id
GROUP BY C.name

该查询根据两个表的公共字段( category表的category_id外键)将它们连接在一起,并计算每个类别的所有票证。GROUP BY对聚合函数进行分组。要根据您的评论查找子类别,请使用以下查询

代码语言:javascript
复制
    SELECT C.name AS 'Sub-Category', COUNT(ticket.id) AS 'Ticket Count'  
    FROM ticket
    JOIN category AS C ON C.id = ticket.category_id
WHERE C.categoryparentid IS NULL
    GROUP BY C.name

您可以使用联合来同时拥有它们。

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

https://stackoverflow.com/questions/20384055

复制
相关文章

相似问题

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