我认为可能有一种方法可以对其进行分区以找到我想要的东西,但我看不到它。我有一些关于产品集的稍微未标准化的数据:
SetItemID ComponentItemID quantity IsPrimary
123 234 1 1
123 345 2 0
456 567 3 1
456 678 2 0
我需要找到quantity
所描述的集合,例如,IsPrimary
component's quantity
> 'IsPrimary=0component's
数量。我还需要找到组件之间数量相等的集合等。如果需要,可以为此使用多个语句
到目前为止,我所拥有的只是一个部分PARTITION
陈述,可能是也可能不是正确的方法,但我不知道如何比较集合中的数量:
WITH setdata as
(select *, row_number() OVER(
PARTITION by s.setitemid order by s.setitemid) position from set_table s )
// descending just to get newer sets
SELECT* from setdata order by setitemid desc