La declaración GROUP BY es la mas crucial para propósitos analíticos, nos da la habilidad de agrupar un conjunto de filas y resumir el resultado.
Por ejemplo usando una base de datos de clientes y órdenes podremos usar GROUP BY para contar cuantas órdenes cada cliente tiene.
the best bv rolex datejust 116244mdo mens rolex calibre 2836 2813 automatic in the world comes with a fashionable and various attitude a single. replica rolex datejust rolex calibre 2836 2813 mens m126201 003 12mm in store with fast shipping worldwide and 1 year warranty on all watches.
Miremos en nuestra base de datos y contemos cuantas ordenes tiene cada cliente:
CREATE TABLE clientes ( id INTEGER PRIMARY KEY, nombre TEXT, apellido TEXT ); CREATE TABLE ordenes ( id INTEGER PRIMARY KEY, cliente_id INTEGER, nombre_producto TEXT ); INSERT INTO clientes (nombre, apellido) VALUES ("Juana", "Ramirez"); INSERT INTO ordenes (cliente_id, nombre_producto) VALUES (last_insert_rowid(), "Papas"), (last_insert_rowid(), "Agua"); INSERT INTO clientes (nombre, apellido) VALUES ("David", "Perez"); INSERT INTO ordenes (cliente_id, nombre_producto) VALUES (last_insert_rowid(), "Chocolate"); SELECT nombre, apellido, COUNT(*) AS ordenes_totales FROM clientes JOIN ordenes ON ordenes.cliente_id = clientes.id GROUP BY ordenes.cliente_id;
Ejercicio:
Usando la siguiente TABLA:
CREATE TABLE clientes ( id INTEGER PRIMARY KEY, nombre TEXT, apellido TEXT ); CREATE TABLE ordenes ( id INTEGER PRIMARY KEY, cliente_id INTEGER, nombre_producto TEXT ); INSERT INTO clientes (nombre, apellido) VALUES ("Manuel", "Ramirez"); INSERT INTO ordenes (cliente_id, nombre_producto) VALUES (1, "Papas"), (1, "Agua"), (1, "Leche"), (1, "Coco"); INSERT INTO clientes (nombre, apellido) VALUES ("Maria", "Perez"); INSERT INTO ordenes (cliente_id, nombre_producto) VALUES (2, "Helado");
Crea una consulta que muestre el primer nombre y el número de órdenes disponibles para cada persona.
¡Enhorabuena! haz aprendido a agrupar datos a fin de obtener información completa y útil desde tu base de datos SQL