Lista 11-22: Funciones de agregación con order by

##############################################################################
# Parte del libro Introducción a la programación con Python
# Autor: Nilo Ney Coutinho Menezes
# Editora Novatec (c) 2015 - ISBN 978-85-7522-250-8
# Primera edición - Mayo/2016
# Sitio: http://www.librodepython.com
#
# Archivo: lista\capítulo 11\11.22 - Funciones de agregación con order by.py
# Descripción: Funciones de agregación con order by
##############################################################################

import sqlite3
print("Región Estados Población   Mínima       Máxima           Media       Total (suma)")
print("====== =======                   ========= ========== ==========   ============")
with sqlite3.connect("brasil.db") as conexión:
    for región in conexión.execute("""
               select región, count(*), min(población),
                             max(población), avg(población), sum(población)
               from estados
               group by región
               order by sum(población) desc"""):
        print("{0:6} {1:7} {2:18,} {3:10,} {4:10,.0f} {5:13,}".format(*región))
    print("\nBrasil: {0:6} {1:18,} {2:10,} {3:10,.0f} {4:13,}".format(
        *conexión.execute("""
            select count(*), min(población), max(población),
                   avg(población), sum(población) from estados""").fetchone()))
Haga clic aquí para bajar el archivo