Ситуация:
Каждый идентификатор является частью группы, и у этого идентификатора есть любимая игра.
Структура вывода:
+----+--------+-------+-------+-------+
| id | group | game1 | game2 | game3 |
+----+--------+-------+-------+-------+
| 1 | brazil | wow | clash | dofus |
| 1 | brazil | fifa | clash| dofus |
| 1 | brazil | wow | wakfu | dofus |
| 2 | korea | clash | dofus | clash |
| 2 | korea | clash | dofus | clash |
| 3 | france | wow | fifa | nfl |
| 3 | france | wow | fifa | nfl |
+----+--------+-------+-------+-------+
Цель:
Мне нужно взять верхнее значение 1 для game1, game2, game3 по группам. В верхней части 1 будет отображаться игра, которая чаще всего появляется в столбце.
Результат должен выглядеть следующим образом:
+--------+--------+-------+-------+
| group | game1 | game2 | game3 |
+--------+--------+-------+-------+
| brazil | wow | clash | dofus |
| korea | clash | dofus | clash |
| france | wow | fifa | nfl |
+--------+--------+-------+-------+
Данные:
create table #t1 (id int,[group] varchar(10),game1 varchar(10),game2 varchar(10),game3 varchar(10))
insert into #t1 values
(1, 'brazil','wow','clash','dofus'),
(1, 'brazil','fifa','clash','dofus'),
(1, 'brazil','wow','wakfu','dofus'),
(2, 'korea','clash','dofus','clash'),
(2, 'korea','clash','dofus','clash'),
(3, 'france','wow','fifa','nfl'),
(3, 'france','wow','fifa','nfl')