首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >(我的)SQL:如何统计一条工单包含多少条符合一定条件的消息?

(我的)SQL:如何统计一条工单包含多少条符合一定条件的消息?
EN

Stack Overflow用户
提问于 2014-02-11 21:34:42
回答 2查看 25关注 0票数 0

我的数据库中有两个表:

代码语言:javascript
复制
ticket
  - id
  - customer_id

message
  - id
  - ticket_id
  - supporter_id

如果消息来自客户,则supporter_id字段为空,否则它包含(正如您所期望的)支持者id。

我现在想知道有多少张票只有一条消息,且supporter_id字段不为空(即,我正在查找仅使用来自支持者的一条消息或“一次性修复”百分比解决的票)。我还想知道每个支持者的“一次性修复”的百分比是多少。

我想我需要使用joins或其他东西,但我有点迷失在其中。有人知道我该怎么解决这个问题吗?欢迎所有提示!

EN

回答 2

Stack Overflow用户

发布于 2014-02-11 21:38:01

为此,您可以使用子查询。如果我没理解错的话,你想:

代码语言:javascript
复制
SELECT * FROM ticket
WHERE (
    SELECT COUNT(*) FROM message WHERE ticket_id = ticket.id AND supporter_id IS NOT NULL
) = 1

这将获取仅存在具有非空supported_id的单个消息的所有票证。

使用此工具,您应该能够计算出百分比。

票数 0
EN

Stack Overflow用户

发布于 2014-02-11 21:42:50

显而易见的解决方案是:

代码语言:javascript
复制
SELECT COUNT(ticket_id)
FROM (
   SELECT ticket_id
   FROM message
   WHERE supporter_id is NOT NULL
   GROUP BY ticket_id
   HAVING COUNT(*)=1
);

关于性能调优的常见说法适用于--你需要查看所有数据吗?这真的能解决你的问题吗?

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

https://stackoverflow.com/questions/21703377

复制
相关文章

相似问题

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