我有一个SQL结果集,看起来与此类似,并下令风格:选择顶层n行
STYLE | CUSTOMER | SIZE | COLOUR |
-----------------------------------------------------------------
A DWTG S BLUE
B DWTG S RED
C DWTG S GREEN
C DWTG M GREEN
D DWTG S ORANGE
D DWTG M ORANGE
D DWTG L ORANGE
现在,我需要拆分这个结果集,并获得第1000行。没问题,我可以用TOP 1000
。
我的问题是,与上面的例子,如果我想,说的前3排,因为STYLE
有C
重复下一行,我需要包括这个问题,以及(所以我实际上有4行)。
例以上,我想结果集的样子:
STYLE | CUSTOMER | SIZE | COLOUR |
-----------------------------------------------------------------
A DWTG S BLUE
B DWTG S RED
C DWTG S GREEN
C DWTG M GREEN
这已经发生了,因为我们将数据导入到ERP有一个文件大小的限制,所以我需要拆分我的结果集到更小的文件中,但我需要保持相同的记录(STYLE中的相同值)。
我正在考虑某种窗口函数,根据下一行是否具有相同样式,动态地向TOP n
添加一个数字。
任何想法?
你能告诉你想要的输出是什么样? – JohnFx