respuesta de Andomar es una buena, y debe casi seguro que seguirá siendo la respuesta seleccionada para esta pregunta. Dicho esto ...
me encontré con que una consulta compleja que estaba corriendo rápidamente se convirtió en difícil de manejar cuando traté de clasificarlo en la solución de Andomar, así que por desesperación, he intentado usar algo como el siguiente código:
CREATE TABLE DoughnutShopCountsByHood AS
SELECT Neighborhood, COUNT(*) AS DoughnutShopCount FROM
( <<crazy-set-of-painful-subqueries-removed>> )
GROUP BY Neighborhood ORDER BY DoughnutShopCount DESC;
La parte importante es la parte "CREATE TABLE ... AS" en la primera línea. Había planeado que este fuera el primero de algunos pasos, pero al menos en el Administrador de SQLite de Firefox, me sorprendió gratamente descubrir que cuando dejé mi consulta ridículamente larga en una nueva tabla, el RDBMS simplemente agregaba una columna de índice automáticamente. Esta columna se dobla muy bien como una columna de "rango".
Me doy cuenta de que esta es una pregunta muy antigua, por lo que esta respuesta probablemente no contenga ningún voto positivo, pero lo publico en caso de que mi experiencia personal pueda ayudar a alguien más con un desafío similar.
Gracias de nuevo a Andomar por la respuesta original. Me imagino que es la más útil para la mayoría de las personas.
Me doy cuenta de que proporcionó un ejemplo simplificado, pero almacena la fecha o el año de nacimiento, no la edad per se, y calcula la edad. No almacene la edad en sí. Si no hubiera visto esto hecho bastantes veces, no estaría escribiendo este comentario. – Tim
Buen punto, las edades cambian ¿no? –