У меня есть prolem с пейджинга в SQL Server 2012SQL Server 2012 пейджинговой возвращает неправильный результат
Это простая таблица для проверки:
CREATE TABLE [dbo].[TestTable]
(
[ID] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](50) NULL,
[Code] [nvarchar](50) NULL,
[Type] [int] NULL,
[IsActive] [bit] NULL,
CONSTRAINT [PK_TestTable]
PRIMARY KEY CLUSTERED ([ID] ASC)
) ON [PRIMARY]
GO
SET IDENTITY_INSERT [dbo].[TestTable] ON
GO
INSERT [dbo].[TestTable] ([ID], [Name], [Code], [Type], [IsActive])
VALUES (1, N'1', N'1', 1, 1)
INSERT [dbo].[TestTable] ([ID], [Name], [Code], [Type], [IsActive])
VALUES (2, N'2', N'2', 1, 1)
INSERT [dbo].[TestTable] ([ID], [Name], [Code], [Type], [IsActive])
VALUES (3, N'3', N'3', 1, 1)
INSERT [dbo].[TestTable] ([ID], [Name], [Code], [Type], [IsActive])
VALUES (4, N'4', N'4', 1, 1)
INSERT [dbo].[TestTable] ([ID], [Name], [Code], [Type], [IsActive])
VALUES (5, N'5', N'5', 1, 1)
INSERT [dbo].[TestTable] ([ID], [Name], [Code], [Type], [IsActive])
VALUES (6, N'6', N'6', 1, 1)
INSERT [dbo].[TestTable] ([ID], [Name], [Code], [Type], [IsActive])
VALUES (7, N'7', N'7', 1, 1)
INSERT [dbo].[TestTable] ([ID], [Name], [Code], [Type], [IsActive])
VALUES (8, N'8', N'8', 1, 1)
INSERT [dbo].[TestTable] ([ID], [Name], [Code], [Type], [IsActive])
VALUES (9, N'9', N'9', 1, 1)
INSERT [dbo].[TestTable] ([ID], [Name], [Code], [Type], [IsActive])
VALUES (10, N'10', N'10', 1, 1)
INSERT [dbo].[TestTable] ([ID], [Name], [Code], [Type], [IsActive])
VALUES (11, N'11', N'11', 1, 1)
INSERT [dbo].[TestTable] ([ID], [Name], [Code], [Type], [IsActive])
VALUES (12, N'12', N'12', 1, 1)
INSERT [dbo].[TestTable] ([ID], [Name], [Code], [Type], [IsActive])
VALUES (13, N'13', N'13', 1, 1)
INSERT [dbo].[TestTable] ([ID], [Name], [Code], [Type], [IsActive])
VALUES (14, N'14', N'14', 1, 1)
INSERT [dbo].[TestTable] ([ID], [Name], [Code], [Type], [IsActive])
VALUES (15, N'15', N'15', 1, 1)
INSERT [dbo].[TestTable] ([ID], [Name], [Code], [Type], [IsActive])
VALUES (16, N'16', N'16', 1, 1)
INSERT [dbo].[TestTable] ([ID], [Name], [Code], [Type], [IsActive])
VALUES (17, N'17', N'17', 1, 1)
INSERT [dbo].[TestTable] ([ID], [Name], [Code], [Type], [IsActive])
VALUES (18, N'18', N'18', 1, 1)
INSERT [dbo].[TestTable] ([ID], [Name], [Code], [Type], [IsActive])
VALUES (19, N'19', N'19', 1, 1)
GO
SET IDENTITY_INSERT [dbo].[TestTable] OFF
GO
Вот несколько скриншотов:
Все записи:
Попробуйте пейджинг, стр 1:
и страница 2:
Некоторые записи Dont появляются на обеих страницах.
Что нужно сделать, чтобы исправить это?
Большое спасибо
SQL Server 2012 работает очень хорошо - вы запрашиваете ** первые 20 строк ** в своем первом запросе для ** первых 10 строк ** во втором запросе ** ** конечно ** вы увидите, что некоторые строки дублируются! Проверьте [официальную документацию для 'OFFSET ... FETCH'] (https://technet.microsoft.com/en-us/library/gg699618%28v=sql.110%29.aspx) и исправьте свои запросы! –
Вы не показываете, когда показываете 3 фотографии Первая фотография, я просто хочу показать все записи (19 записей и порядок по типу) Вторая и третья фотографии - это пролет. Они не охватывают все записи таблицы – haiduong87