Моя голова курит от (глупых) попыток использования JOIN
, WITH
и GROUP BY
, чтобы найти решение для моего довольно распространенного сценария - я просто не могу обернуть голову вокруг него.Позвольте мне сразу привести пример:
У меня есть две таблицы (ColorCount и Colorname):
ColorCount:
ColorID Count Date
1 42 2010-09-07
1 1 2010-09-08
2 22 2010-09-14
1 20 2010-10-10
3 4 2010-10-14
ColorName:
ColorID Name
1 Purple
2 Green
3 Yellow
4 Red
Теперь все, что я хочу, этоприсоедините таблицу ColorName к таблице ColorCount, суммируйте все подсчеты цветов за месяц и рассчитайте процент каждого подсчета из месячной суммы.Таблицы лучше слов:
Output:
Month Color Count Percentage
09 Purple 43 66%
09 Green 22 33%
09 Yellow 0 0%
09 Red 0 0%
10 Purple 20 83%
10 Green 0 0%
10 Yellow 4 16%
10 Red 0 0%
(Обратите внимание, что общее количество месяцев 09
равно 65
, следовательно, 66%
для Purple
, а также 0
's для несуществующих цветов):
Я надеюсь, что кто-то мечтает о SQL, и это простая задача ...