Присвоить уникальное значение центру обработки данных на основе месяца запуска (мин)?Вопрос SQL - PullRequest
0 голосов
/ 16 февраля 2019

У меня есть таблица, показывающая использование клиентов в центрах обработки данных в месяц.Я хочу столбец с именем Cohort_Month для каждого месяца (M1, M2, M3 и т. Д.), Основанный на самом раннем месяце запуска.

Бизнес-цель: я пытаюсь сравнить, как масштабируется использование центра обработки данных на основе их первого месяца запуска (M1) и т. Д. ...

Пример данных:

+----------+------------+-----------+----------------------+
| Customer | Datacenter |   Month   | Total Credits Burned |
+----------+------------+-----------+----------------------+
| Apple    | DC1        | 12 / 2019 |                  618 |
| Google   | DC1        | 12 / 2019 |                  463 |
| Apple    | DC1        | 01 / 2019 |                  961 |
| Google   | DC1        | 01 / 2019 |                  590 |
| BCG      | DC5        | 11 / 2018 |                  729 |
| Mckinsey | DC5        | 11 / 2018 |                  194 |
| Bain     | DC5        | 11 / 2018 |                  652 |
| BCG      | DC5        | 12 / 2018 |                  952 |
| Mckinsey | DC5        | 12 / 2018 |                  477 |
| Bain     | DC5        | 12 / 2018 |                  917 |
| BCG      | DC5        | 01 / 2019 |                  618 |
| Mckinsey | DC5        | 01 / 2019 |                  350 |
| Bain     | DC5        | 01 / 2019 |                  378 |
| BCG      | DC5        | 02 / 2019 |                  302 |
| Mckinsey | DC5        | 02 / 2019 |                  838 |
| Bain     | DC5        | 02 / 2019 |                  500 |
+----------+------------+-----------+----------------------+

Я пытаюсь получить следующий вывод:

+----------+------------+-----------+----------------------+--------------+
| Customer | Datacenter |   Month   | Total Credits Burned | Cohort_Month |
+----------+------------+-----------+----------------------+--------------+
| Apple    | DC1        | 12 / 2019 |                  618 | M1           |
| Google   | DC1        | 12 / 2019 |                  463 | M1           |
| Apple    | DC1        | 01 / 2019 |                  961 | M2           |
| Google   | DC1        | 01 / 2019 |                  590 | M2           |
| BCG      | DC5        | 11 / 2018 |                  729 | M1           |
| Mckinsey | DC5        | 11 / 2018 |                  194 | M1           |
| Bain     | DC5        | 11 / 2018 |                  652 | M1           |
| BCG      | DC5        | 12 / 2018 |                  952 | M2           |
| Mckinsey | DC5        | 12 / 2018 |                  477 | M2           |
| Bain     | DC5        | 12 / 2018 |                  917 | M2           |
| BCG      | DC5        | 01 / 2019 |                  618 | M3           |
| Mckinsey | DC5        | 01 / 2019 |                  350 | M3           |
| Bain     | DC5        | 01 / 2019 |                  378 | M3           |
| BCG      | DC5        | 02 / 2019 |                  302 | M4           |
| Mckinsey | DC5        | 02 / 2019 |                  838 | M4           |
| Bain     | DC5        | 02 / 2019 |                  500 | M4           |
+----------+------------+-----------+----------------------+--------------+
  • Небольшое редактирование изоригинальный пост ** ценим любые советы!

1 Ответ

0 голосов
/ 16 февраля 2019

ЭТО ОТВЕТЫ НА ОРИГИНАЛЬНУЮ ВЕРСИЮ ВОПРОСА.

Вы, кажется, хотите row_number():

select Datacenter, Month,
       row_number() over (partition by Datacenter order by Month) as cohort_month
from sampledata;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...