如何在 sql 中同时使用 Count() 和 Min/Max
How to use both Count() and Min/Max in sql
我有以下 table:MyTable
name | price
|-------------------|
| a | 10 |
|-------------------|
| b | 5 |
|-------------------|
| a | 7 |
|-------------------|
| a | 3 |
|-------------------|
| a | 12 |
|-------------------|
| b | 6 |
|-------------------|
| c | 2 |
|-------------------|
| c | 5 |
|-------------------|
我想计算 name
的频率,需要为每个 name
获得 max_price
和 min_price
。
预期输出为:
name | count | min_price | max_price
|-------------------|----------------------|
| a | 4 | 3 | 12 |
|-------------------|----------------------|
| b | 2 | 5 | 6 |
|-------------------|----------------------|
| c | 2 | 2 | 5 |
|-------------------|----------------------|
我想编写 Django ORM 查询。请帮助我实现它。
您可以为项目添加注释:
from django.db.models import Count, Max, Min
MyModel.objects.values('name').annotate(
count=Count('pk'),
min_price=Min('price'),
max_price=Max('price')
).order_by('name')
我有以下 table:MyTable
name | price
|-------------------|
| a | 10 |
|-------------------|
| b | 5 |
|-------------------|
| a | 7 |
|-------------------|
| a | 3 |
|-------------------|
| a | 12 |
|-------------------|
| b | 6 |
|-------------------|
| c | 2 |
|-------------------|
| c | 5 |
|-------------------|
我想计算 name
的频率,需要为每个 name
获得 max_price
和 min_price
。
预期输出为:
name | count | min_price | max_price
|-------------------|----------------------|
| a | 4 | 3 | 12 |
|-------------------|----------------------|
| b | 2 | 5 | 6 |
|-------------------|----------------------|
| c | 2 | 2 | 5 |
|-------------------|----------------------|
我想编写 Django ORM 查询。请帮助我实现它。
您可以为项目添加注释:
from django.db.models import Count, Max, Min
MyModel.objects.values('name').annotate(
count=Count('pk'),
min_price=Min('price'),
max_price=Max('price')
).order_by('name')