按逻辑分区

时间:2021-03-03 14:42:26

标签: sql sql-server

我有一个大约有 100 万行的数据集。如果没有硬编码任何声明,获得结果输出的方法是什么?根据我的研究,我确定像 DENSE_RANK 或 ROW_NUMBER() 之类的带有分区表达式的东西应该可以解决问题。如果它更改了上述 PATNO 的组并使其成为一项声明”。

在这种情况下,日期无关紧要。基本上我只想找到一种方法来告诉 SQL 自动识别基于 Patno 的声明集。有时,具有相同 Patno 的 50 行构成一项声明,而有时可能只有 1-2 行具有相同 Patno 的行构成一项声明。

Main Table Output Table

1 个答案:

答案 0 :(得分:2)

如果你想要一个 patno 的总费用,那么你想要一个 group by,我认为:

select patno, sum(charges)
from t
group by patno;

我认为你把问题复杂化了。