necesito para seleccionar todos los mensajes con todas sus etiquetas relacionadas:LIMIT/OFFSET por la columna DISTINCT
SELECT p.*, pt.name AS tag_name, pt.id AS tag_id FROM posts p
LEFT JOIN posts_tags pt ON pt.post_id = p.id
por lo que obtener algo como esto:
p.id | p.name | p.content | tag_name | tag_id
1 | Yahoo | ... | first | 1
1 | Yahoo | ... | second | 2
2 | Google | ... | second | 2
2 | Google | ... | third | 3
Sé la hora de seleccionar los registros de esta manera se es posible obtener el número de registros a través de COUNT(p.id)
por ejemplo, pero no descubrí cómo configurar OFFSET
(cuántos registros se saltan desde el principio) y LIMIT
(cuántos registros devuelven) según el ID de la publicación única.
Ahora es obvio que trabaja en el camino, que está saltando/limitar el número de registros, pero no el número de puestos reales ...
Upvoters, ¿ha intentado ejecutar esta consulta? Las funciones analíticas son una buena idea, pero ROW_NUMBER() proporciona el comportamiento exacto que el OP _no_ quiere. Además, la proyección de la columna está incompleta (dos cols en lugar de cinco) y PT.Tag_Id no existe, excepto como un alias en el conjunto de datos del OP. – pilcrow