##############################################################################
# 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.23 - Utilizando having para listar solo las regiones con más de 5 estados.py
# Descripción: Utilizando having para listar solo las regiones con más de 5 estados
##############################################################################
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) as tpop
from estados
group by región
having count(*)>5
order by tpop desc"""):
print("{0:6} {1:7} {2:18,} {3:10,} {4:10,.0f} {5:13,}".format(*región))