Извините за плохой заголовок. Я не мог придумать лучшего способа описать мою проблему.SQL GROUP BY с столбцами, которые содержат зеркальные значения
У меня есть следующая таблица:
Category | A | B
A | 1 | 2
A | 2 | 1
B | 3 | 4
B | 4 | 3
Я хотел бы, чтобы сгруппировать данные по Category
, возвращать только 1 строку в каждой категории, но предоставить оба значения столбцов A
и B
.
Так что результат должен выглядеть следующим образом:
category | resultA | resultB
A | 1 | 2
B | 4 | 3
Как это может быть достигнуто?
Я попытался это заявление:
SELECT category, a, b
FROM table
GROUP BY category
но, очевидно, я получаю следующие ошибки:
Колонка «а» недопустим в списке выбора, поскольку он не содержится в либо агрегатная функция или предложение GROUP BY.
Столбец «b» недействителен в списке выбора, поскольку он не содержится ни в агрегатной функции , ни в предложении GROUP BY.
Как достичь желаемого результата?
Можете ли вы объяснить ваш ожидаемый результат немного больше? почему A = 1, 4 сохранено и 2, 3 удалено? Вы хотите сохранить одну строку для каждой категории? – GurV
Каковы критерии для выбора значений в a и b, которые вы хотите отобразить? – Simon
И если есть три строки с категорией А, с этой парой {5, 5}, каков будет ваш результат? –