我有一个数据表,加载后看起来像这样:
<表类>
given_id
数据
tbody><<tr>1 example_val1_col_1 2example_val1_col_2 3 example_val1_col_3 1example_val2_col_1 2example_val2_col_2 表类>
您只需要想出一种方法来确保每个聚合只能发生一次。一种方法是通过given_id
添加行号分区:
;WITH x AS
(
SELECT given_id, data, rn = ROW_NUMBER() OVER
(PARTITION BY given_id ORDER BY data)
FROM dbo.example_table
)
SELECT [1],[2],[3]
FROM x
PIVOT (MIN(data) FOR given_id IN ([1],[2],[3])) AS p;
尽管仅用5个潜在值进行测试可能还不够。
- 例子:db<在小提琴>在小提琴>