у меня есть эта таблица:Как получить меньше строк?
USE [testing]
GO
/****** Object: Table [dbo].[table1] Script Date: 1/02/2014 9:35:13 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[table1](
[id] [int] NOT NULL,
[date] [datetime] NULL,
[rate] [decimal](18, 0) NULL
) ON [PRIMARY]
GO
INSERT [dbo].[table1] ([id], [date], [rate]) VALUES (1, CAST(0x0000A2A600000000 AS DateTime), CAST(12 AS Decimal(18, 0)))
GO
INSERT [dbo].[table1] ([id], [date], [rate]) VALUES (2, CAST(0x0000A2A700000000 AS DateTime), CAST(2 AS Decimal(18, 0)))
GO
INSERT [dbo].[table1] ([id], [date], [rate]) VALUES (3, CAST(0x0000A2A800000000 AS DateTime), CAST(3 AS Decimal(18, 0)))
GO
INSERT [dbo].[table1] ([id], [date], [rate]) VALUES (4, CAST(0x0000A2A900000000 AS DateTime), CAST(56 AS Decimal(18, 0)))
GO
Я хотел бы вернуть разницу в скоростях между 2 рядами и возвращает 3 строки:
-10
1
43
Что я должен изменить в этом запросе?
select t1.rate-t2.rate
from table1 t1
join table1 t2 on
t1.id> t2.id
where (t2.id-t1.id) <=1
Какую версию SQL Server вы используете, пожалуйста? –
Являются ли идентификаторы гарантированными последовательными без пробелов? –