Количество без повторений в одном из столбцов - MySQL

Узнай цену своей работы

Формулировка задачи:

Имеем таблицу менеджер - входящий номер:
manager number
user1 7972207
user2 8581041
user3 3642345
user1 8089142
user2 7972207
user2 0297188
user1 8089142
user3 3642345
user4 3642345
Нужно получить количество

уникальных

звонков по менеджерам. Но уникальных звонков не у каждого менеджера, а уникальных звонков вообще.
user1 2
user2 2
user3 1
user4 0

Решение задачи: «Количество без повторений в одном из столбцов»

textual
Листинг программы
SELECT `manager`, COUNT(*) AS `calls` FROM (
    SELECT * FROM (
        SELECT `manager`, `number ` FROM `таблица` ORDER BY `время_звонка` ASC
    ) t1
    GROUP BY `number `
) t2
GROUP BY `manager`

Объяснение кода листинга программы

Код выбирает уникальные номера телефонов в столбце number из таблицы таблица, которые звонят на сервер, и подсчитывает количество звонков от каждого менеджера.

  1. SELECT * FROM ( SELECTmanager,number FROMтаблицаORDER BYвремя_звонкаASC ) t1
  2. GROUP BYnumber `
  3. SELECTmanager, COUNT(*) AScallsFROM ( SELECT * FROM ( SELECTmanager,number FROMтаблицаORDER BYвремя_звонкаASC ) t1 GROUP BYnumber ) t2
  4. GROUP BYmanager` В результате получается список менеджеров и количество звонков от каждого из них.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.857 из 5
Похожие ответы