У меня есть таблица:
Таблица - 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?