gpt4 book ai didi

python - Django:按月/年分组的日期属性求和

转载 作者:太空狗 更新时间:2023-10-30 01:30:34 26 4
gpt4 key购买 nike

我想将此查询从 SQL 发送到 Django:

"select date_format(date, '%Y-%m') as month, sum(quantity) as hours from hourentries group by date_format(date, '%Y-%m') order by date;"

导致问题的部分是聚合时按月分组。我试过这个(这看起来合乎逻辑),但它没有用:

HourEntries.objects.order_by("date").values("date__month").aggregate(Sum("quantity"))

最佳答案

aggregate 只能生成一个聚合值。

您可以通过以下查询获取当月的总小时数。

from datetime import datetime
this_month = datetime.now().month
HourEntries.objects.filter(date__month=this_month).aggregate(Sum("quantity"))

因此,要获得 HourEntry 所有月份的聚合值,您可以遍历数据库中所有月份的查询集。但最好使用原始 sql。

HourEntries.objects.raw("select date_format(date, '%Y-%m') as month, sum(quantity) as hours from hourentries group by date_format(date, '%Y-%m') order by date;")

关于python - Django:按月/年分组的日期属性求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2943314/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com