@Sayonji

Group by unordered pair

Привет.
Знает ли кто-нибудь эффективный универсальный способ группировать по неупорядоченной паре однотипных значений в Mysql?
Не group by colA, colB,
а как-то вот так: group by {colA, colB}

Пришел в голову такой подход: конвертировать данные в бинарные, а потом группировать по
concat(col1 | col2, " ", col1 & col2)

Есть какой-то стандартный некостыльный способ это делать?
Спасибо.
  • Вопрос задан
  • 2651 просмотр
Решения вопроса 2
@rozhik
Этот способ не костыльный, а единственный, который не требует создание новых таблиц.
Не стоит боятся использовать в группировке функциональные выражения, и это не есть плохим стилем.
Ответ написан
@eyeless_watcher
Насколько я понимаю, задача состоит в том, чтобы собрать из пары операндов симметричное относительно их порядка выражение. Без бинарных операций это можно сделать, например, так:

concat(least(col1, col2), " ", greatest(col1 ,col2))
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
bo2
@bo2
Лучше, конечно, при записи сразу упорядочивать, если это возможно
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы