ПочатиПочніть безкоштовно

Підрахунок унікальних даних

Як згадувалося у відео, модуль func у SQLAlchemy надає доступ до вбудованих функцій SQL, які можуть пришвидшувати та робити ефективнішими операції на кшталт підрахунку та сумування.

У відео Джейсон використав func.sum(), щоб отримати суму стовпця pop2008 таблиці census, як показано нижче:

select([func.sum(census.columns.pop2008)])

Якщо ж ви хочете порахувати кількість значень у pop2008, можна скористатися func.count() ось так:

select([func.count(census.columns.pop2008)])

Крім того, якщо потрібно підрахувати лише унікальні значення pop2008, використайте метод .distinct():

select([func.count(census.columns.pop2008.distinct())])

У цій вправі ви попрактикуєтеся використовувати func.count() та .distinct(), щоб отримати кількість унікальних штатів у census.

Досі ви бачили використання .fetchall(), .fetchmany() та .first() для ResultProxy, щоб отримати результати. У ResultProxy також є метод .scalar() для отримання лише значення запиту, який повертає рівно один рядок і один стовпець.

Це дуже зручно, коли ви робите запит лише на підрахунок або суму.

Ця вправа є частиною курсу

Вступ до баз даних у Python

Переглянути курс

Інструкції до вправи

  • Створіть оператор select, щоб порахувати унікальні значення у полі state таблиці census.
  • Виконайте stmt, щоб отримати підрахунок, і збережіть результат у змінній distinct_state_count.
  • Виведіть значення distinct_state_count.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Build a query to count the distinct states values: stmt
stmt = select([____])

# Execute the query and store the scalar result: distinct_state_count
distinct_state_count = connection.execute(____).scalar()

# Print the distinct_state_count
print(____)
Редагувати та запускати код