如何找到表中存在的唯一组,并显示使用该类型组的频率?
例如(SQL Server 2008R2)
所以,我想知道有多少次的组合
PMI 100
RT 100
VT 100
存在于我的表中,以及它使用了多少个 itemid;
这三个形成一个组,因为它们一起被分配给一个 itemid。相同的组合分配给 id 2527 和 2529,因此该组至少使用两次。(使用次数 = 2)
(我想知道出现的所有类型的组)
- 整个数据集非常大,大约有 5.000.000 条记录,所以我想避免使用游标。
- 每个 itemid 的代码/pct 组合数量在 1 到 6 之间变化。
- “代码”字段中的值事先不知道,平均有十几个值
我尝试使用枢轴,但最终卡住了,我还尝试了 GROUP-BY 和计数的各种组合。
有什么好主意吗?
示例输出:
code pct groupid usagecount
PMI 100 1 234
RT 100 1 234
VT 100 1 234
CD 5 2 567
PMI 100 2 567
VT 100 2 567
PMI 100 3 123
PT 100 3 123
VT 100 3 123
RT 100 4 39
VT 100 4 39
etc