我想通过其他行扩展选择,例如,我有一个传入的数据集:
从sometable中选择*
|---------------------|------------------|
| Type | Value |
|---------------------|------------------|
| 1 | null |
|---------------------|------------------|
| 2 | null |
|---------------------|------------------|
| 2 | null |
|---------------------|------------------|
| 2 | null |
|---------------------|------------------|
| 3 | null |
|---------------------|------------------|
| 3 | null |
|---------------------|------------------|
| 4 | null |
|---------------------|------------------|
当type是组键时,我想将它扩展到每组3行
|---------------------|------------------|
| Type | Value |
|---------------------|------------------|
| 1 | null |
|---------------------|------------------|
| 1 | null |
|---------------------|------------------|
| 1 | null |
|---------------------|------------------|
| 2 | null |
|---------------------|------------------|
| 2 | null |
|---------------------|------------------|
| 2 | null |
|---------------------|------------------|
| 3 | null |
|---------------------|------------------|
| 3 | null |
|---------------------|------------------|
| 3 | null |
|---------------------|------------------|
| 4 | null |
|---------------------|------------------|
| 4 | null |
|---------------------|------------------|
| 4 | null |
|---------------------|------------------|
2条答案
按热度按时间vsikbqxv1#
你可以用
cross apply
. 假设没有类型已经有超过3行:tf7tbtn22#
这不是特别漂亮,但它做的工作。如果您有一个包含唯一类型的表,它的性能可能会更好,因为
DISTINCT
不需要: