django从mysql 取数据,实现group by
时间: 2023-08-05 21:32:38 浏览: 99
要在Django中从MySQL中取数据并使用GROUP BY,可以使用Django的ORM语法,如下所示:
```python
from django.db.models import Count
result = YourModel.objects.values('field_to_group_by').annotate(count=Count('field_to_count')).order_by('-count')
```
这个查询会返回一个QuerySet对象,其中每个对象都包含一个'field_to_group_by'字段和一个'count'字段。'field_to_group_by'字段是你想要使用GROUP BY的字段,'count'字段是该分组下的记录数。
注意:在使用GROUP BY时,必须使用.annotate()方法,并指定一个聚合函数,如Count()。另外,如果你想按照记录数(即count字段)进行排序,则可以使用.order_by('-count')方法。
阅读全文