在简单 linq 中使用 sum 时出现错误 [ORA-00979: 不是 GROUP BY 表达式]

发布于 2024-11-29 05:19:01 字数 949 浏览 3 评论 0原文

     var dataTotalPotongan = (from x in absentContext.V_DETAIL_PELANGGARANs
                              group x by
                              new
                              {
                                  x.T_EMPLOYEE_ID,
                                  x.FINANCE_PERIOD_NAME
                              }
                                  into gruopedData
                                  select
                                  new
                                  {
                                      gruopedData.Key.T_EMPLOYEE_ID,
                                      periode = Convert.ToDateTime(gruopedData.Key.FINANCE_PERIOD_NAME), 
                                      jumlah = gruopedData.Max (x => x.FREKUENSI )
                                  }

                              );

我有那个代码,它是正确的。但每次我执行它时,它总是返回

error ORA-00979: not a GROUP BY expression.
     var dataTotalPotongan = (from x in absentContext.V_DETAIL_PELANGGARANs
                              group x by
                              new
                              {
                                  x.T_EMPLOYEE_ID,
                                  x.FINANCE_PERIOD_NAME
                              }
                                  into gruopedData
                                  select
                                  new
                                  {
                                      gruopedData.Key.T_EMPLOYEE_ID,
                                      periode = Convert.ToDateTime(gruopedData.Key.FINANCE_PERIOD_NAME), 
                                      jumlah = gruopedData.Max (x => x.FREKUENSI )
                                  }

                              );

I have that code, which is correct. but everytime I execute it, it always returns

error ORA-00979: not a GROUP BY expression.

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

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

发布评论

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

评论(1

听风念你 2024-12-06 05:19:01

GROUP BY 子句不包含 SELECT 子句中的所有表达式。这是 SQL 中的标准错误。

例如,这是可以的:

SELECT Customer,OrderDate,SUM(OrderPrice) 
FROM Orders
GROUP BY Customer,OrderDate 

但这不起作用:

SELECT Customer,OrderDate, OrderPrice 
FROM Orders
GROUP BY Customer,OrderDate

在你的情况下,我猜你需要在 x.T_EMPLOYEE_ID 和 x.FINANCE_PERIOD_NAME 之后将 x.FREKUENSI 添加到 GroupBy 中。

The GROUP BY clause does not contain all the expressions in the SELECT clause. This is standard mistake in SQL.

For instance this is ok:

SELECT Customer,OrderDate,SUM(OrderPrice) 
FROM Orders
GROUP BY Customer,OrderDate 

But this wont work:

SELECT Customer,OrderDate, OrderPrice 
FROM Orders
GROUP BY Customer,OrderDate

In your case I guess you need to add x.FREKUENSI into GroupBy after x.T_EMPLOYEE_ID and x.FINANCE_PERIOD_NAME.

.

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