Estoy tratando de obtener 2 filas de cada categoría de una sola tabla donde también se menciona la categoría. Cuando trato de obtener datos usando la cláusula GROUP BY, puedo obtener 1 fila para cada tipo de categoría, pero quiero dos filas. Como puedo lograr ese resultado.
Por ejemplo
Imagen de ejemplo de tabla, verifique
Quiero buscar las dos primeras filas de cada categoría.
Solución del problema
Creo que las funciones de ventana son lo que quieres aquí:
-- Asuming your table is named 'food'
SELECT * FROM (
SELECT
*,
ROW_NUMBER() OVER(PARTITION BY category) AS category_row_index
FROM `food`
) food_catgorized
WHERE
food_catgorized.category_row_index BETWEEN 1 AND 2;
No hay comentarios:
Publicar un comentario