SQL Group By 函数结合 SUM

标签 sql tsql group-by

我收到了错误

Column 'Nordlux UK$Item.Description' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.

尝试运行 SQL 语句时。

如果我删除 SUM 函数并且 Group by 它可以工作,但我希望所有结果都按我的项目编号分组。 谁能看到我在代码中做错了什么?

SELECT
    [Nordlux UK$Item].No_,
    [Nordlux UK$Item].[Description],
    SUM([Nordlux UK$Item Ledger Entry].[Quantity]) AS Int
FROM [Nordlux UK$Item]
JOIN [Nordlux UK$Sales Price]
    ON [Nordlux UK$Item].[No_] = [Nordlux UK$Sales Price].[Item No_]
JOIN [Nordlux UK$Item Ledger Entry]
    ON [Nordlux UK$Item].[No_] = [Nordlux UK$Item Ledger Entry].[Item No_]
WHERE [Nordlux UK$Sales Price].[Sales Code] = 'DUN02'
GROUP BY [Nordlux UK$Item].No_

最佳答案

您需要在 group by 子句中添加 [Nordlux UK$Item].[Description] - 因为选择列表中除聚合函数外的每一列都应按子句分组

SELECT
    [Nordlux UK$Item].No_,
    [Nordlux UK$Item].[Description],
    SUM([Nordlux UK$Item Ledger Entry].[Quantity]) AS Int
FROM [Nordlux UK$Item]
JOIN [Nordlux UK$Sales Price]
    ON [Nordlux UK$Item].[No_] = [Nordlux UK$Sales Price].[Item No_]
JOIN [Nordlux UK$Item Ledger Entry]
    ON [Nordlux UK$Item].[No_] = [Nordlux UK$Item Ledger Entry].[Item No_]
WHERE [Nordlux UK$Sales Price].[Sales Code] = 'DUN02'
GROUP BY [Nordlux UK$Item].No_, [Nordlux UK$Item].[Description]

关于SQL Group By 函数结合 SUM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54088347/

相关文章:

SQL close close 随着时间的推移数据中的差距

sql - 最近执行的 SQL 不在 V$SQL 中

mysql - 如何在同一个结果表中包含来自两个查询的信息?

c# - SQL在C#中的表中允许null

sql - Informix SQL错误-为什么此UPDATE语句不起作用?

sql-server - 合并与选择比插入更新性能比较

SQL 服务器 : Get data for only the past year

SQL - 在分组依据中使用别名

sql - mysql 获取 order by 发生在 group by 之前

c# - 我可以将同一对象添加到 LINQ 中的多个组吗?