Подсчёт записей по штатам
Часто бывает нужно подсчитать количество записей с определённым значением в другом столбце. Метод .group_by() помогает решать именно такие задачи. Вы можете передать столбец в метод .group_by() и использовать его вместе с агрегатной функцией, например sum() или count(). Как и метод .order_by(), метод .group_by() принимает несколько столбцов в качестве аргументов.
Это упражнение является частью курса
Введение в базы данных на Python
Инструкции к упражнению
- Импортируйте
funcизsqlalchemy. - Создайте инструкцию
select, которая извлекает значение поляstateи количество значений в полеage, и сохраните её в переменнуюstmt. - Используйте метод
.group_by(), чтобы сгруппировать инструкцию по столбцуstate. - Выполните
stmtс помощьюconnection, чтобы получить результат подсчёта, и сохраните результаты в переменнуюresults. - Выведите ключи/названия столбцов возвращённых результатов с помощью
results[0].keys().
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Import func
# Build a query to select the state and count of ages by state: stmt
stmt = select([____, ____])
# Group stmt by state
stmt = stmt.group_by(____)
# Execute the statement and store all the records: results
results = connection.execute(____).fetchall()
# Print results
print(results)
# Print the keys/column names of the results returned
print(____)