我正在尝试减少9 <= quantity <= 42
查询返回T-SQL
的数据大小。例如,我们假设我们有以下行集:
Reporting Services
可以轻松转换为:
ID Country City
1 Germany Berlin
2 Germany Berlin
3 Germany Berlin
4 Germany Berlin
5 Germany Hamburg
6 Germany Hamburg
7 Germany Hamburg
8 Germany Hamburg
9 Germany Berlin
10 Germany Berlin
由于我可能有成千上万的重复值(以及数百列),我知道使用这样的ID Country City
1 Germany Berlin
2 NULL NULL
3 NULL NULL
4 NULL NULL
5 NULL Hamburg
6 NULL NULL
7 NULL NULL
8 NULL NULL
9 NULL Berlin
10 NULL NULL
转换数据会大大减少返回数据的大小。
是否可以实现一个公式,如果当前的列值为NULLs
,它会获得前一行的列值?
我想测试是否更快地渲染大量数据或使用较小的数据但是应用这样的表达式。
答案 0 :(得分:1)
为什么不使用Group BY
SELECT Min(Id) as min, Max(ID) as max,Country,City
FROM myTable
GROUP BY Country,City
或者
SELECT count(Id) as rowRepeatNum,Country,City
FROM myTable
GROUP BY Country,City
如果你的Ids是顺序的,第一种方法会起作用,虽然我不确定Id是否重要。
第二种方法可以为您提供一个循环数字,以便在您的应用程序中快速生成重复行并返回少得多的行。
可以给我更多关于你的用例的信息吗?