SQL - Сортировка зеркальных строк

Есть БД со следующей структурой:

id team1      team2
1  spartak    csk
2  csk        spartak
3  real       spartak
4  csk        real

Мне нужно написать запрос что-бы узнать сколько раз команды играли между собой в виде:

game          num
spartak-csk   2
real-spartak  1
csk-real      1

Буду благодарен за любую помощь.


Ответы (1 шт):

Автор решения: teran

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

SELECT game, count(game)
FROM (
    select
        case when a < b then concat(a, '-' , b)
             else concat(b , '-', a ) end as game
    from data
) as t
GROUP by game
→ Ссылка