Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 带有Group By的Django SQL Windows函数_Python_Sql_Django_Mariadb - Fatal编程技术网

Python 带有Group By的Django SQL Windows函数

Python 带有Group By的Django SQL Windows函数,python,sql,django,mariadb,Python,Sql,Django,Mariadb,我有这个问题 选择 DAYOFWEEK(date)作为“周日”, 总额(收入)/总额(总额(收入))超过()作为订单的“版次份额” 按星期一分组(已完成) 它将生成一个显示收入份额的表格 我的目标是在Django的ORM层的帮助下对其进行归档 我使用RawSQL尝试了以下操作: share=Orders.objects.values(week\u day=ExtractIsoWeekDay('date'))\ .annotate(收益共享=RawSQL('SUM(收益)/SUM(收益))ov

我有这个问题

选择
DAYOFWEEK(date)作为“周日”,
总额(收入)/总额(总额(收入))超过()作为订单的“版次份额”
按星期一分组(已完成)
它将生成一个显示收入份额的表格

我的目标是在Django的ORM层的帮助下对其进行归档


我使用RawSQL尝试了以下操作:

share=Orders.objects.values(week\u day=ExtractIsoWeekDay('date'))\
.annotate(收益共享=RawSQL('SUM(收益)/SUM(收益))over()'))
这将产生一个没有分组依据的单一值。执行的查询:

选择
工作日(`orders`.`date`)+1为`week\u day`,
(总额(收入)/总额(总额(收入))超过())作为“收入”份额`
从`命令`
通过使用窗口功能也可以实现这一点:

share=Orders.objects.values(week\u day=ExtractIsoWeekDay('date'))\
.annotate(收入_share=Sum('revenue')/窗口(Sum('revenue'))
这将导致以下查询

选择
工作日(`order`.`date`)+1为`week\u day`,
(SUM('order`.'revenue`)/SUM('order`.'revenue`)OVER())作为'rev_share'
按工作日(`order`.`date`)从`order`组开始+1个订单,按空
但数据是完全错误的。看起来窗口没有使用整个桌子


提前感谢您的帮助。

我不知道您的问题是什么。谢谢您指出这一点。我对那个问题有点太失望了。我不明白你的问题是什么。谢谢你指出这一点。我对那个问题有点太失望了。