[英]PySpark: How to group by a fixed date range and another column calculating a value column's sum using window functions?
[英]Error in Calculating the sum of a filtered column value using Django Queries
我有2個模型
class Horses(models.Model):
race = models.IntegerField(null=True)
name = models.CharField(max_length=200, null=True)
owners = models.ManyToManyField(Owners)
class BetOrders(models.Model):
customers =models.ForeignKey(Customers, null = True, on_delete=models.SET_NULL)
horses = models.ForeignKey(Horses, null = True, on_delete=models.SET_NULL)
amountBet = models.FloatField(null = True)
horseprice = models.IntegerField(null=True)
timeOfBet = models.DateTimeField(auto_now_add = True, null = True)
我正在嘗試根據相似的馬名計算amountBet
的總和。 我試過這個查詢集,但沒有用
BetOrders.objects.filter(horses__name='white river').annotate(total_sales=Sum('amountBet'))
我可以知道這個查詢有什么問題嗎? 以及獲得過濾值總和的正確方法是什么。 注意:馬名是 FK。 這是我的表的表示
+-------+------------------+
| Horse Name | Amount Bet |
+-------------+------------+
| jals jiger | 50 |
| white river | 80 |
| white river | 70 |
| jals jiger | 10 |
| jals jiger | 98 |
| chivas | 10 |
+-------------+------------+
在執行 Group By 查詢時,您需要使用 .values() 和 .annotate() 來觸發“Group By”。 試試下面的:
BetOrders.objects.values('horses__name').annotate(total_sales=Sum('amountBet')).filter(horses__name='white river')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.