Code: Select all
SELECT DISTINCT ticket.tn AS TicketNumber
, ticket.title AS Subject
, queue.name AS QueueName
, concat(u2.first_name, " ", u2.last_name) AS TicketOwner
, ticket.create_time AS CreationTime
, (SELECT article.create_time
FROM
article
INNER JOIN article_sender_type
ON article.article_sender_type_id = article_sender_type.id
INNER JOIN article_type
ON article.article_type_id = article_type.id
INNER JOIN ticket
ON article.ticket_id = ticket.id
WHERE
ticket.tn = TicketNumber
AND article_sender_type.name = 'agent'
ORDER BY
article.id
LIMIT
1) AS firstAgentResponse
, TIME_FORMAT(SEC_TO_TIME((unix_timestamp((SELECT article.create_time
FROM
article
INNER JOIN article_sender_type
ON article.article_sender_type_id = article_sender_type.id
INNER JOIN article_type
ON article.article_type_id = article_type.id
INNER JOIN ticket
ON article.ticket_id = ticket.id
WHERE
ticket.tn = TicketNumber
AND article_sender_type.name = 'agent'
ORDER BY
article.id
LIMIT
1))-unix_timestamp(ticket.create_time))),'%Hh %im') AS ResponseTime
FROM
ticket
INNER JOIN article
ON ticket.id = article.ticket_id
INNER JOIN queue
ON ticket.queue_id = queue.id
INNER JOIN article_sender_type
ON article.article_sender_type_id = article_sender_type.id
INNER JOIN article_type
ON article.article_type_id = article_type.id
INNER JOIN users u2
ON ticket.user_id = u2.id
WHERE queue.name != 'Junk'
AND ticket.create_time >= DATE_SUB(CURDATE(), INTERVAL 1 MONTH)
ORDER BY ResponseTime DESC