За последние 24 часа нас посетили 16510 программистов и 1553 робота. Сейчас ищут 2033 программиста ...

Агрегатные фукции нескольких полей одной таблицы при разных условиях

Тема в разделе "MySQL", создана пользователем Kse, 30 апр 2016.

  1. Kse

    Kse Новичок

    С нами с:
    30 апр 2016
    Сообщения:
    2
    Симпатии:
    0
    Есть такая задачка:
    1. Существует таблица manager_revenue, содержит информацию по выручки по всем менеджерам за каждый день.
    Содержит поля:
    manager_id - Идентификатор менеджера
    depart_id - Идентификатор подразделения
    date_ins - дата выручки
    revenue - сумма выручки
    Нужен запрос, который бы вывел выручку по каждому менеджеру, сумму выручки за каждый квартал, Запрос должен возвращать таблицу с полями:
    менеджер, департамент, выручка_квартал_1, выручка_квартал_2, выручка_квартал_3,
    выручка_квартал_4

    Мне в голову пришло только то, что таблицу надо заджойнить саму с собой, а куда запихнуть условия непонятно.
    Код (Text):
    1. SELECT t1.manager_id, t1.depart_id, SUM(t1.revenue), SUM(t2.revenue), SUM(t3.revenue), SUM(t2.revenue) FROM manager_revenue AS t
    2. INNER JOIN manager_revenue AS t1 ON t1.manager_id= t2.manager_id
    3. INNER JOIN manager_revenue AS t2 ON t1.manager_id= t2.manager_id
    4. INNER JOIN manager_revenue AS t3 ON t1.manager_id= t2.manager_id
    5. INNER JOIN manager_revenue AS t4 ON t1.manager_id= t2.manager_id
    6. WHERE ??????????
    7. GROUP BY t1.manager_id
     
    #1 Kse, 30 апр 2016
    Последнее редактирование модератором: 30 апр 2016
  2. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    Не надо наркоманить, ну. Можно сделать несколько запросов, можно взять все записи по менеджеру и уже с помощью php собрать нужный вывод
     
  3. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.115
    Симпатии:
    1.244
    Адрес:
    там-сям
    Группируй по работнику и кварталу. Кварталы в строчку склеишь уже в Представлении.
     
  4. Kse

    Kse Новичок

    С нами с:
    30 апр 2016
    Сообщения:
    2
    Симпатии:
    0
    как сгруппировать по работнику и кварталу в одном запросе?

    я смогла только создать 4 таблицы с выручкой за каждый квартал, а потом их мержить в представлении
     
  5. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.115
    Симпатии:
    1.244
    Адрес:
    там-сям
    в group by через запятую перечисли