ORDER BY ordena el resultado:
SELECT * FROM pedidos ORDER BY monto DESC;
Para quedarte sólo con las primeras filas, SQL Server usa TOP N
justo después del SELECT (no existe LIMIT):
SELECT TOP 3 id, monto FROM pedidos ORDER BY monto DESC;
GROUP BY agrupa filas que comparten un valor y permite calcular
funciones de agregación por grupo: COUNT, SUM,
AVG, MIN, MAX:
SELECT cliente_id, COUNT(*) AS cantidad
FROM pedidos
GROUP BY cliente_id;
Toda columna que aparezca en el SELECT y no esté dentro de una
función de agregación tiene que estar también en el GROUP BY.
Para filtrar los grupos resultantes (no las filas individuales) se usa
HAVING en vez de WHERE:
SELECT cliente_id, SUM(monto) AS total
FROM pedidos
GROUP BY cliente_id
HAVING SUM(monto) > 1000000;