sql - 如何返回日期和销售收入的 SQL 语句
问题描述
我正在尝试运行 SQL 查询以返回当天和日期的总销售额(yyyy-mm-dd 格式)。我正在运行 filter_dailysales = (input date here) 变量的代码,但它不起作用。
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 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')")
我想要的结果输出将是第一列:使用输入变量选择的日期,第二列:orders_price 的总和。结果将只是一排。
解决方案
尝试将分组依据添加到您的查询中。就像是:
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.com/sql/improve-sql-query-performance-by-using-bind-variables
推荐阅读
- javascript - 计算mysql中的重复数据
- python - Celery 任务获取 SoftTimeLimitExceeded 调用 API
- nashorn - 空手道中具有未定义变量的三元条件逻辑
- shell - 无法对远程服务器执行 ssh gettign 横幅错误
- ruby-on-rails - 由于参考错误,无法创建有效的 ActiveRecord 模型
- javascript - 将返回值传递给javascript中的函数参数
- postgresql - 在 Windows 7 上的 PostgreSql 10 中执行命令后,“*#”是什么意思?
- c# - 使用具有未指定类型参数的泛型作为字典中的值
- talend - Talend - 从 tLogRow/tSort 中提取文件名
- javascript - 如何播放音频javascript