按列值划分的小计
Subtotal for a partition by column value
如果我有这样的数据:
K1 K2 V3
100 A C
100 A C
100 A D
200 B D
200 B D
200 B C
我按 K1 和 K2 对数据进行分区,因此我可以通过计数获得总数:
count(V3) over (partition by K1, K2)
产生:
K1 K2 V3 Total
100 A C 3
100 A C 3
100 A D 3
200 B D 2
200 B E 2
如何获取引用行中值的分区的小计?所以结果将是:
K1 K2 V3 Total Subtotal
100 A C 3 2
100 A C 3 2
100 A D 3 1
200 B D 2 1
200 B E 2 1
SELECT
K1,
K2,
V3,
count(V3) over (partition by K1, K2) as Total,
count(V3) over (partition by K1, K2, V3) as Subtotal
FROM DataTable
如果我有这样的数据:
K1 K2 V3
100 A C
100 A C
100 A D
200 B D
200 B D
200 B C
我按 K1 和 K2 对数据进行分区,因此我可以通过计数获得总数:
count(V3) over (partition by K1, K2)
产生:
K1 K2 V3 Total
100 A C 3
100 A C 3
100 A D 3
200 B D 2
200 B E 2
如何获取引用行中值的分区的小计?所以结果将是:
K1 K2 V3 Total Subtotal
100 A C 3 2
100 A C 3 2
100 A D 3 1
200 B D 2 1
200 B E 2 1
SELECT
K1,
K2,
V3,
count(V3) over (partition by K1, K2) as Total,
count(V3) over (partition by K1, K2, V3) as Subtotal
FROM DataTable