问题标签 [django-aggregation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
django - Django中的嵌套注释
我有三个模型
如何打印具有“关联”ModelC 对象数量的所有 ModelA 对象?
输出:
我试过从 ModelA 做一个查询集,如下所示:
但它不起作用。
mysql - Django选择用户在范围内获得点数
我有这样的表:
现在我想计算有多少用户的 SUM(points) 介于 1 和 80 之间、81 和 140 之间等。我怎样才能得到它?在 SQL 中,它看起来只能通过嵌入式 SQL 查询来完成 - 内部用于使用 HAVING 子句进行分组,外部用于计算结果集中的行数。
python - Django 相关 _set 与 order_by 显示重复
使用 Django 1.7,在我看来使用以下代码:
当我尝试这个时,我得到汽车的重复结果(例如两次汽车#3),具体取决于模型的数量。我不想要这个。
但是,当我使用时cars = driver.car_set.all()
,重复的结果不存在。但我希望我的汽车清单能够按market_date
.
有关如何解决此问题的任何指示?我尝试使用 aggregate() 和 distinct() 但不幸的是并没有解决问题(或者我做错了什么)。
我的尝试distinct()
:
driver.car_set.order_by('model__market_date').distinct()
导致重复driver.car_set.order_by('model__market_date').distinct('model__market_date')
导致重复driver.car_set.order_by('model__market_date').distinct('pk')
产量Exception Value: SELECT DISTINCT ON expressions must match initial ORDER BY expressions
django - 如何在 Django 中检索聚合查询的整数?
这可能是一个非常愚蠢的问题,但我如何使用下面的查询检索整数?
如果我在模板中执行 {{ staravg }},我会得到 {'stars__avg': 3.3333333333333335}。我知道我可以使用某种模板过滤器来检索 3.333,但是必须有一种更简单的方法来检索 Integer 对吗?星星来自 IntegerField 仅供参考。
python - Django 聚合转义 unicode 字符串?
我尝试在具有 unicode 文本的数据库上使用聚合,它显示了 unicode 对象,其中 unicode 字符再次编码。聚合后如何显示 unicode 文本?
mysql - Django 1.6 + MySQL:键入 Cast MySQL 变量以搜索 Max、Avg
我的模型有点像
现在,这里current_value
表示存储为 VarChar 的 Float 中的值,以及存储为 unixtime 的时间
在尝试获取 Max 和 Average 值时,current_value
我得到了意想不到的结果,因为对于 Max,MySQL 会进行基于字符串的比较,其中'100' value < '9.99'
在 Float 中采用了不正确的 wrt 值。
我试过了 :
它提供了不正确的结果。
然后看:HOW select min from cast varchar to int in mysql
我考虑过提供查询集extra
但这只是提供了一个单一的价值,而不是想要的结果。这转换为 SQL
从performance_utilizationstatus
订购performance_utilizationstatus
。sys_timestamp
降序;
但是工作代码需要一个 GROUP BY on (device_name, service_name, data_source)
分组依据performance_utilizationstatus
。device_name
, performance_utilizationstatus
. service_name
,
performance_utilizationstatus
. data_source
订购方式performance_utilizationstatus
。sys_timestamp
降序;
如何添加 GROUP BY CLAUSE ?
在这里使用annotate
不起作用
1111, 'Invalid use of group function'
或者
ERROR 1056 (42000): Can't group on 'max_val'
RAW SQL 会是最后的手段吗?
python - 使用 Django,我如何在单个查询中实现这一点?
我有以下模型:
鉴于now = datetime.now()
,我想检索now
介于active_at
和之间的所有记录active_at + duration
。
我正在使用 Django 1.8。这是DurationField 文档。
django - Django 聚合选择
我有以下模型:
现在我有 VotingRound 的实例,我想知道每个值代表了多少次。这可以通过 collections.Counter 轻松完成:
现在我想知道是否有办法使用 Django 聚合技术来做到这一点......
我找到了这个模块,但在使用它之前,我想知道是否有本地方法可以做到这一点。
sql - Django注释查询中错误的GROUP BY字段
原来很尴尬的单车模型参考引起的问题:
现在,当我尝试对查询进行注释时,它总是使用 GROUP BY a 的 LEFT OUTER JOIN 的 id(下例中的T3.id)而不是a.id。
例子:
生成的 SQL:
我知道我可以做接下来的事情:
- 更改模型不做自行车参考(不幸的是现在不能这样做)
- 可以使用 .extra() 代替注释(我会尽量避免)
- 删除 .select_related() 调用(由于性能问题不能这样做)
UPD:使用 GROUP BY T3.id将排除结果,其中 ab == None
对我来说最好的解决方案是在 GROUP BY 子句中指定正确的字段,但我不知道如何。可能吗?有没有其他方法可以解决这个问题?谢谢。