Sql server SQL查询以开始/结束方式拆分,并具有所需的输出
我有一张记录如下的表格 项目代码 价值 1. 0 1. 0.290 1. 0.370 1. 0.650 1. 1.190 1. 2.120 1. 2.700 1. 2.900 1. 7.360 2. 2.340 2. 2.790 2. 2.890 2. 3.500 2. 3.600 3. 2.100 3. 2.250 3. 3 你想要铅:Sql server SQL查询以开始/结束方式拆分,并具有所需的输出,sql-server,sql-server-2016,Sql Server,Sql Server 2016,我有一张记录如下的表格 项目代码 价值 1. 0 1. 0.290 1. 0.370 1. 0.650 1. 1.190 1. 2.120 1. 2.700 1. 2.900 1. 7.360 2. 2.340 2. 2.790 2. 2.890 2. 3.500 2. 3.600 3. 2.100 3. 2.250 3. 3 你想要铅: 请注意,这将消除每个组的最后一条记录,如示例数据所示。您也可以这样做。如果希望按组显示最后一条记录,请将“内部联接”替换为“左侧外部联接”: with tab
请注意,这将消除每个组的最后一条记录,如示例数据所示。您也可以这样做。如果希望按组显示最后一条记录,请将“内部联接”替换为“左侧外部联接”:
with tablewithrow as (
select f1.*, row_number() over(partition by f1.ItemCode order by (select null)) rang
from mytable f1
)
select f1.ItemCode, f1.Value BeginNum, f2.Value EndNum
from tablewithrow f1
inner join tablewithrow f2 on f1.ItemCode=f2.ItemCode and f1.rang=f2.rang - 1
对不起,我应该把我试过的问题贴出来。这是我的第一篇文章。将记住未来的职位。谢谢
with tablewithrow as (
select f1.*, row_number() over(partition by f1.ItemCode order by (select null)) rang
from mytable f1
)
select f1.ItemCode, f1.Value BeginNum, f2.Value EndNum
from tablewithrow f1
inner join tablewithrow f2 on f1.ItemCode=f2.ItemCode and f1.rang=f2.rang - 1