django中如何使用group by来做查询?


我在写django查询的时候遇到一个问题,比方说,对于一个人员列表,想按照出生年分组,并统计每组人数,这个在sql中很好写,但是在django的query中该如何写呢?

编程 group_by 分组 django 查询

一日就是一天 10 years, 6 months ago

常用的有两种方式:

  1. 可以通过annotate来实现,比如:
    Person.objects.values('yob').annotate(cNum=Count('yob')).order_by('-yob')
    其中,yob是出生年月。
  2. 你知道SQL是如何写的,就可以使用 Manager.raw() 来执行 查询。具体的用法,可以参考 https://docs.djangoproject.com/en/1.5...
【宅腐】曾铁可 answered 9 years, 12 months ago

Your Answer