gpt4 book ai didi

mysql - 如何在 Django ORM 中使用 GROUP BY

转载 作者:太空宇宙 更新时间:2023-11-03 11:47:12 24 4
gpt4 key购买 nike

我陷入了这样一种情况,我需要一个等效的 Django ORM 用于以下 sql 查询。请帮忙,我是 django 的新手。

SELECT column1, column2, sum(column3) as total
FROM table1
GROUP BY column1;

我试过了Table1.objects.values('column1', 'column2').annotate(total=Sum(column3))这使得上面的 or 是这样的:

SELECT column1, column2, sum(column3) as total
FROM table1
GROUP BY column1, column2;

它正在对我不想要的 column1 和 column2 进行分组。

最佳答案

看看你正在有效地尝试做的是:

Column1  Column2  Column3
MP C1 100
MP C1 110
MP C2 100
MH C3 50
MH C4 85
RJ C5 100

现在,如果您执行 SELECT Column1, Column2, sum(Column3) as total FROM table1 GROUP BY Column1 这会变得很奇怪(也就是说,它会选择 Column2 的第一个值并且会然后对 Column1 中的每个值进行 groupby - 这显然会给出错误的结果(如果不是错误的话))。相反,有意义的是,您在 Group By 中同时选择 Column1 和 Column2,以便 groupby 合理地工作,否则在选择列时不要写 Column2。

如果您对解释感到满意,那么您在问题中所写的内容(您自己提出的解决方案)将能够解决您的目的。

关于mysql - 如何在 Django ORM 中使用 GROUP BY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37812532/

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