我有一个表,如下所示:
我只需要将这些行分组为3行,其中resultset中的前两行将是前两个值,其余行需要用sum(值)合并为一行。
| 代码|价值|
| - ------|- ------|
| 十七|1个|
| 十九|无|
| 休息|无|
我试过用分区表示行号,用OVER表示SUM(值),还有一些传统的一步一步的方法,这些方法有很多低效的代码。在SQL Server中有没有这样做的方法?
我有一个表,如下所示:
我只需要将这些行分组为3行,其中resultset中的前两行将是前两个值,其余行需要用sum(值)合并为一行。
| 代码|价值|
| - ------|- ------|
| 十七|1个|
| 十九|无|
| 休息|无|
我试过用分区表示行号,用OVER表示SUM(值),还有一些传统的一步一步的方法,这些方法有很多低效的代码。在SQL Server中有没有这样做的方法?
1条答案
按热度按时间v7pvogib1#
如果我理解正确的话,您可以首先使用row_number()进行枚举
现在可以在CASE表达式中使用rn
这当然是不确定的,但根据你的评论,这并不重要