Предположим, у меня есть таблица со следующей структурой:

income event, frequency, user

И пример данных, таких как:

12,1,a 5,10,a 6,2,b

Как бы выглядел sql-запрос, который проходит по пользователям и суммирует каждое событие дохода x частоту

Результат будет выглядеть так:

a, 62 b,12

Я относительно новичок в sql, поэтому у меня мало опыта работы с группировкой по функциям, и я исхожу из фона R

1
Abe 3 Авг 2017 в 05:18

1 ответ

Лучший ответ

Ваш запрос будет выглядеть так:

SELECT user, SUM([income event] * frequency) AS SumOfEvents FROM [tablename] GROUP BY user

Когда вы GROUP BY поле, вы агрегируете (например, SUM, COUNT) значения для любого из других столбцов, по которым вы SELECT. Вам просто нужно указать столбцы, по которым вы GROUP.

Таким образом, будет просто выбран user, а затем вы возьмете SUM продукта других столбцов.

3
Bob Kaufman 3 Авг 2017 в 05:22