Как СУММАТЬ КОНКАТ ГРУППЫ - PullRequest
       56

Как СУММАТЬ КОНКАТ ГРУППЫ

0 голосов
/ 20 февраля 2020

У меня две таблицы. Первая таблица пользователей - это данные пользователя. Вторая таблица - это user_volume. Таблица - это объем затрат пользователя. Я хочу один запрос sql и получить пользователя и получить месячную сумму затрат. Что такое SQL Запрос?

user_volume 
    id     | user_id        | volume    | created_at
    1      |    1           |  66.00    | 2018-03-03 15:36:45
    2      |    1           |  77.00    | 2018-03-03 15:36:21
    3      |    1           |  88.00    | 2018-03-03 15:36:11
    4      |    2           |  99.00    | 2018-03-03 19:36:15
    5      |    2           |  65.05    | 2018-04-04 21:30:07
    6      |    2           |  99.00    | 2018-04-04 19:36:15
    7      |    2           |  65.05    | 2018-04-04 21:30:07
    8      |    1           |  22.00    | 2018-04-04 15:36:45
    9      |    1           |  44.00    | 2018-04-04 15:36:21
    10     |    1           |  33.00    | 2018-04-04 15:36:11
    11     |    2           |  13.00    | 2018-04-04 15:36:45
    12     |    2           |  224.00   | 2018-04-04 15:36:21
    13     |    2           |  651.00   | 2018-04-04 15:36:11



        user
id | name | surname
1  |  X   |    Y

result
user_id |  date1(03-2018) | date2(04-2018)
 1   |     (231)          | (99)
 2   |     (99)           | (888)

1 Ответ

0 голосов
/ 20 февраля 2020

Вы, кажется, хотите условную агрегацию:

select uv.id as user_id,
       sum(case when created_at >= '2018-03-01' and created_at < '2018-04-1'
                then volume else 0
           end) as volume_month1,
       sum(case when created_at >= '2018-04-01' and created_at < '2018-05-1'
                then volume else 0
           end) as volume_month2
from user_volume uv
group by uv.id
...