Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Aggregations | Complex Queries
Django ORM Ninja: Advanced Techniques for Developers

book
Aggregations

Do you remember that aggregations in SQL are used to compute a single result from a set of input values. Let's remind some common aggregation functions: COUNT, SUM, AVG, MAX, MIN.

At the same time, Aggregation in Django ORM is a powerful tool to perform calculations over query sets, enabling you to summarize or analyze data efficiently. It allows for operations like counting, averaging, summing, etc., across a set of records.

Basic Aggregation Examples

This query counts how many books each author has written.

python
from django.db.models import Count
author_book_count = Author.objects.annotate(num_books=Count("books"))

Complex Aggregation

Finds the latest publication date for each author.

python
from django.db.models import Max
latest_book_per_author = Author.objects.annotate(latest_publication=Max("books__publication_date"))

Aggregation with Filters

Aggregates the total pages of all books in the "Fantasy" genre.

python
total_pages_fantasy = Book.objects.filter(genre__name="fantasy").aggregate(Sum("pages"))

1. What is the primary use of aggregation functions in SQL?

2. What does the following Django ORM query do? Author.objects.annotate(latest_publication=Max('books__publication_date'))

3. Which Django ORM query is used to aggregate the total pages of all books in the 'Fantasy' genre?

question mark

What is the primary use of aggregation functions in SQL?

Select the correct answer

question mark

What does the following Django ORM query do? Author.objects.annotate(latest_publication=Max('books__publication_date'))

Select the correct answer

question mark

Which Django ORM query is used to aggregate the total pages of all books in the 'Fantasy' genre?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 5. Kapitel 3

Fragen Sie AI

expand
ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

some-alt