【发布时间】:2023-03-26 15:31:01
【问题描述】:
我在 SQL Server 表中有一个列,其值如下:
ID Value Item#
-------------------
101 10 Apples
102 20 Apples
102-01 22 Apples
102-02 23 Apples
102-03 21 Apples
103 20 Apples
103-01 15 Apples
如何编写查询以获得正确的值总计?
对于给定的示例,值只能用于:101、102-03、103-01。
正确的总和应该是46。
我尝试在 where 子句中使用 like 和 contains 关键字。它没有帮助。 Group by 和 Max 搞砸了总数。
仅使用 sum(values) 就可以找出所有错误
【问题讨论】:
-
您如何确定哪些记录应计入总和?
-
101,102-03,103-01 它应该采用项目编号,但如果前面有“-0”(例如 102-01)等,那么它应该采用其 MAX 值。所以在示例图像中只应选择 101,102-03,103-01 作为总数
标签: sql-server sum ssms greatest-n-per-group window-functions