Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 查询-从已创建的票证数量中查找已关闭票证的数量_Mysql_Sql_Subquery - Fatal编程技术网

Mysql 查询-从已创建的票证数量中查找已关闭票证的数量

Mysql 查询-从已创建的票证数量中查找已关闭票证的数量,mysql,sql,subquery,Mysql,Sql,Subquery,我有一个查询,用于查找代理在每个队列(部门)中创建的票证数量 我想得到的是从创建的票证中关闭了多少票证。以下是上述查询结果的结构: Queue || # of tickets Billing 12 Enterprise Support 7 Fiber Support 47 L2-Support 4 Retail Support 107 Sales

我有一个查询,用于查找代理在每个队列(部门)中创建的票证数量

我想得到的是从创建的票证中关闭了多少票证。以下是上述查询结果的结构:

Queue         ||      # of tickets


Billing                12
Enterprise Support     7
Fiber Support          47
L2-Support             4
Retail Support         107
Sales                  4
我不太擅长子查询。这就是为什么我在这个问题上苦苦挣扎。 以下查询显示处于关闭状态的票证数

    SELECT queue.name AS 'Queue', COUNT(ticket.id) AS '# of closed tickets'
    FROM ticket
        INNER JOIN
            queue ON ticket.queue_id = queue.id
    WHERE
        ticket.create_by != 1
    AND
ticket.ticket_state_id = '2'
    AND
        DATE(ticket.create_time) >= DATE_SUB(CURDATE(),INTERVAL 1 day)
    AND
        ticket.queue_id IN ( SELECT id FROM queue WHERE valid_id=1 ORDER BY name)
    GROUP BY queue.name;
最后,我想显示队列创建的票证数量以及处于关闭状态的票证数量,如下所示:

Queue         ||      # of tickets       || # of closed tickets



Billing                12                    2
Enterprise Support     7                     0
Fiber Support          47                     22
L2-Support             4                      1 
Retail Support         107                     60
Sales                  4                       1

当您需要聚合集合及其子集时,请使用
CASE

SELECT queue.name AS 'Queue', COUNT(ticket.id) AS '# of tickets'
  , SUM(CASE WHEN ticket.ticket_state_id = '2' THEN 1 ELSE 0 END) AS '# of closed tickets'
FROM ticket
    INNER JOIN
        queue ON ticket.queue_id = queue.id
WHERE
    ticket.create_by != 1
AND
    DATE(ticket.create_time) >= DATE_SUB(CURDATE(),INTERVAL 1 day)
AND
    ticket.queue_id IN ( SELECT id FROM queue WHERE valid_id=1 ORDER BY name)
GROUP BY queue.name;

当您需要聚合集合及其子集时,请使用
CASE

SELECT queue.name AS 'Queue', COUNT(ticket.id) AS '# of tickets'
  , SUM(CASE WHEN ticket.ticket_state_id = '2' THEN 1 ELSE 0 END) AS '# of closed tickets'
FROM ticket
    INNER JOIN
        queue ON ticket.queue_id = queue.id
WHERE
    ticket.create_by != 1
AND
    DATE(ticket.create_time) >= DATE_SUB(CURDATE(),INTERVAL 1 day)
AND
    ticket.queue_id IN ( SELECT id FROM queue WHERE valid_id=1 ORDER BY name)
GROUP BY queue.name;

考虑提供适当的创建和插入语句和期望的result@Strawberry不清楚吗???很清楚,任何人都能理解这个问题。考虑提供适当的创建和插入语句和所需的语句。result@Strawberry不清楚吗???很清楚,任何人都可以理解这个问题。注意ORDER BY子句是多余的。注意ORDER BY子句是多余的。