Распределить данные при выборе в PostgreSQL - PullRequest
0 голосов
/ 21 апреля 2020

У меня есть таблица:

Таблица - user

user_id     name            country         role        function
1           abc1            US              Developer   IT
2           abc3            US              Developer   IT
3           abc4            US              Developer   IT
4           abc6            US              Developer   IT
5           abc8            US              Developer   IT
6           abc9            US              Developer   IT
7           abc5            Canada          Developer   IT
8           abc2            Canada          Accountant  Finance
9           abc7            US              Accountant  IT

Когда я запускаю:

выберите * из предела пользователя 5;

Это дает мне вывод:

user_id     name            country         role        function
1           abc1            US              Developer   IT
2           abc3            US              Developer   IT
3           abc4            US              Developer   IT
4           abc6            US              Developer   IT
5           abc8            US              Developer   IT

Но я ищу вывод, как показано ниже:

user_id     name            country         role        function
1           abc1            US              Developer   IT
7           abc5            Canada          Developer   IT
9           abc7            US              Accountant  Finance
8           abc2            Canada          Accountant  Finance
2           abc3            US              Developer   IT

В основном я хочу иметь равное распределение записей на основе (страна, роль , function).

Итак, запись должна быть уникальной комбинацией.

Например,

  • user_id = 1 имеет следующую комбинацию страна = США, роль = разработчик, функция = IT
  • user_id = 5 имеет следующую комбинацию страна = Канада, роль = разработчик, функция = IT
  • user_id = 1 имеет следующую комбинацию страна = США, роль = бухгалтер, функция = финансы

Как это сделать в Postgres SQL?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...