如何返回日期和销售收入的SQL语句

问题描述 投票:0回答:1

我试图运行一个SQL查询,以返回当天的总销售额和日期(yyyy-mm-dd格式)。我正在运行filter_dailysales = (在这里输入日期)变量的代码,但它不工作。

SELECT TO_CHAR(Orders_OrderTimeStamp, 'yyyy-mm-dd'), SUM(Orders_Price) 
  FROM Orders 
 WHERE TO_CHAR(Orders_OrderTimeStamp, 'yyyy-mm-dd') = '"+str(filter_dailysales)+"')

因此,我有一个带列的订单表 Orders_ID, Orders_OrderTimeStamp, Orders_Price

我在python上用cx_oracle输入了这样的代码。

c.execute("insert into orders values ('9', 1.7, sysdate-31, 9, sysdate-31, '2', '1', '3')")

我想要的结果输出是:第一列。输入变量选择的日期,第二列: 订单的总和_价格。结果将只有一行。

sql oracle cx-oracle
1个回答
0
投票

试试在你的查询中添加一个group by。像这样。

SELECT TO_CHAR(Orders_OrderTimeStamp, 'yyyy-mm-dd')
,      SUM(Orders_Price) 
FROM Orders 
WHERE TO_CHAR(Orders_OrderTimeStamp, 'yyyy-mm-dd') = '"+str(filter_dailysales)+"')
GROUP BY TO_CHAR(Orders_OrderTimeStamp, 'yyyy-mm-dd')

还有,尽可能用绑定变量来代替字符串替换 请看

https:/blogs.oracle.comsqlimprove-sql-query-performance-by-using-bind-variables.

© www.soinside.com 2019 - 2024. All rights reserved.