允许Oracle使用同义词/SQL语法进行聚合函数

发布于 2025-01-17 13:46:16 字数 424 浏览 3 评论 0原文

我有类似于以下语句的内容,适用于 SQL-Server

-- Uses AdventureWorks    
SELECT STDEV(SalesAmountQuota) AS All_Values  
  FROM dbo.FactSalesQuota;

使用 Crystal Report,我们希望报表支持 SQL Server 和 Oracle。因此,我们需要这个声明在两者中都起作用。为了解决这个问题,我们将函数与其他命名函数一起包装。我无法使 STDEV (SQL-Server) 的聚合函数正确地进入 STDDEV(Oracle)。

关于如何实现这项工作有什么想法吗?

STDEV 在 Oracle 中工作并提供使用 STDDEV 聚合函数返回的答案。

I have something similar to the following statement that works in SQL-Server

-- Uses AdventureWorks    
SELECT STDEV(SalesAmountQuota) AS All_Values  
  FROM dbo.FactSalesQuota;

Working with Crystal Report, we want the report to support both SQL Server and Oracle. Thus, we need this statement to work in both. To get around we been wrapping functions with their other named function. I cannot get the Aggregate Function correct for STDEV (SQL-Server) to go into STDDEV(Oracle).

Any ideas on how to make this work?

STDEV to work within Oracle and provides the answer that would be returned using STDDEV aggregate function.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

涙—继续流 2025-01-24 13:46:16

Oracle 有 STDDEV 带字母的解析函数差异,并且可能像

WITH t(year,month,SalesAmountQuota) AS
(
 SELECT 2022,1,1000 FROM dual UNION ALL
 SELECT 2022,2,1500 FROM dual UNION ALL
 SELECT 2022,3,2000 FROM dual UNION ALL
 SELECT 2022,4,2500 FROM dual
)
SELECT STDDEV(SalesAmountQuota) OVER (ORDER BY year, month) AS StdDeviation  
  FROM t

Oracle 中的演示

SQL Server 中的演示

Oracle has STDDEV analytic function with a letter difference, and might be used like

WITH t(year,month,SalesAmountQuota) AS
(
 SELECT 2022,1,1000 FROM dual UNION ALL
 SELECT 2022,2,1500 FROM dual UNION ALL
 SELECT 2022,3,2000 FROM dual UNION ALL
 SELECT 2022,4,2500 FROM dual
)
SELECT STDDEV(SalesAmountQuota) OVER (ORDER BY year, month) AS StdDeviation  
  FROM t

Demo in Oracle

Demo in SQL Server

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文