sintomas - MySQL-Búsqueda con UNION ALL y GROUP BY
el duelo no es depresion es tristeza profunda (2)
SELECT p.id, p.title, p.uri, ''post'' AS search_type
FROM `posts` AS p
WHERE title LIKE "%logo%"
UNION ALL
SELECT p.id, p.title, p.uri, ''tag'' AS search_type
FROM posts AS p
INNER JOIN post_tags AS pt ON pt.post_id = p.id
INNER JOIN tags AS t ON pt.tag_id = t.id
WHERE t.title LIKE "%logo%"
UNION ALL
SELECT p.id, p.title, p.uri, ''category'' AS search_type
FROM posts AS p
INNER JOIN post_categories AS pc ON pc.post_id = p.id
INNER JOIN categories AS c ON pc.category_id = c.id
WHERE c.title LIKE "%logo%"
GROUP BY p.id
LIMIT 30
Intento agrupar los ID de publicación, por lo que no devuelvo resultados de búsqueda duplicados, pero por algún motivo hay duplicados incluso cuando uso GROUP BY p.id
¿Puede alguien decirme qué estoy haciendo mal?
GROUP BY
resultados de su tercera parte de la consulta solamente. Primero será GRUPO, luego UNIÓN.
Incluya toda la consulta en una subconsulta y GROUP en ella.
Aquí hay un ejemplo que no funciona con MySQL:
SELECT Column1, SUM(Column2) AS Column2Total
FROM
(
SELECT Column1, Column2 FROM Table1
UNION ALL
SELECT Column1, Column2 FROM Table2
) AS UnionTable
GROUP BY Column1