Допустим, у меня был такой запрос:
SELECT * FROM (
SELECT 'a' AS a, '1' AS b
UNION
SELECT 'a' AS a, '2' AS b
UNION
SELECT 'b' AS a, '1' AS b) AS a
GROUP BY a.a
В этом случае «a» .b - это агрегат, равный 1,2, а «b» .b - только агрегат, равный 1.
Как выбрать только «а»?
Вопрос обновлен, чтобы быть немного яснее:
Давайте возьмем этот очень похожий запрос:
SELECT *, GROUP_CONCAT(b) FROM (
SELECT 'a' AS a, '1' AS b
UNION
SELECT 'a' AS a, '2' AS b
UNION
SELECT 'a' AS a, '3' AS b
UNION
SELECT 'b' AS a, '1' AS b
UNION
SELECT 'b' AS a, '2' AS b
) AS a
GROUP BY a.a
Теперь a.b равно 1,2,3, а b.b равно 1,2:
Я хочу выбрать, исходя из того, что он имеет 1, 2 и 3.