У меня есть таблица SQL Server с записями вызовов, и я бы хотел получить общее количество звонков и общее количество полученных вызовов.Sql Server Присоединиться к Sub Query
Вот что таблица выглядит следующим образом:
Extension | Status
-----------------------
300 Answered
200 Not Answered
.... ...
Какой самый эффективный способ, чтобы написать запрос, который будет возвращать расширение, общее количество вызовов (рассчитывать на всю таблицу) и количество отвеченных вызовов (кол-во, где Status = 'Answered'
)?
Я создал подзапрос и присоединился к нему, но он, кажется, своего рода неэффективен, так у меня есть
SELECT Extension, COUNT(*) AS total, answered.num as totalAnswered
FROM calls c INNER JOIN (SELECT Extension, COUNT(*) AS num FROM calls
WHERE Status = 'answered') answered ON c.Extension = answered.Extension
GROUP BY Extension, answered.num
Благодарности
пару деталей: 1) запрос вы вывесили не является действительным. Подумайте об этом. 2) Ваш запрос, кажется, подразумевает, что вы хотите, чтобы подсчеты были на расширение, но в тексте вам, похоже, нужны подсчеты по всей таблице. Который из них? – sstan