Mensaje de Rodrigo Henríquez, gerente comercial de Minimarkets del Sur
Para la vitrina de verano quiero los cinco productos más caros del catálogo. Y el área de prevención de fraudes me pide las diez ventas de mayor monto del trimestre, para revisarlas una por una. Si dos ventas tienen el mismo monto, ponlas en el orden en que se registraron.
Concepto
ORDER BY ordena el resultado. Por defecto es de menor a mayor (ASC); con DESC, de mayor a menor. LIMIT deja solo las primeras filas:
SELECT nombre, precio FROM productos ORDER BY precio LIMIT 3Cuando dos filas empatan en lo que ordenas, la base puede devolverlas en cualquier orden, y tu top 10 podría cambiar de un día para otro. Para que el resultado sea siempre el mismo, agrega una segunda columna de desempate:
ORDER BY monto DESC, id → primero por monto, de mayor a menor; si empatan, por id, de menor a mayor.
ORDER BY y LIMIT van al final de la consulta, en ese orden.
> tarea SQL
Trae el nombre y el precio de los cinco productos más caros, del más caro al más barato.
Primero intenta: las pistas aparecen después de 2 intentos con un resultado incorrecto (los errores de código no cuentan). Llevas 0.
> tarea SQL
Trae el id y el monto de las diez ventas de mayor monto. Si dos ventas tienen el mismo monto, va primero la de id menor.
Primero intenta: las pistas aparecen después de 2 intentos con un resultado incorrecto (los errores de código no cuentan). Llevas 0.
> decisión
Tu top 10 de ventas de mayor monto termina en una venta de 27.960, y la siguiente (la 11) también es de 27.960. ¿Qué le dices a prevención de fraudes?
Cargando opciones…