我有这个表定义
CREATE TABLE [dbo].[Earnings](
[Name] [nvarchar](50) NOT NULL,
[Date] [datetime] NOT NULL,
[Earnings] [decimal](18, 2) NOT NULL
)
我有这个样本数据。
INSERT INTO [dbo].[Earnings] ([name], [Date], [Earnings])
VALUES
('person1', datefromparts(2015, 9, 1), 9.01),
('person1', datefromparts(2015, 10, 5), 10.05),
('person1', datefromparts(2015, 11, 21), 11.21),
('person1', datefromparts(2016, 1, 11), 1.12),
('person1', datefromparts(2016, 3, 13), 3.13),
('person1', datefromparts(2016, 5, 15), 5.15),
('person2', datefromparts(2016, 6, 16), 6.16),
('person2', datefromparts(2016, 8, 18), 8.18)
当我进行分页操作时,以下两个SQL语句总是返回相同的结果。我想知道这个问题的原因是什么?有哪些可能的修复方式?
SELECT * FROM [dbo].Earnings order by Name OFFSET 0 ROWS FETCH NEXT 2 ROWS ONLY ;
SELECT * FROM [dbo].Earnings order by Name OFFSET 2 ROWS FETCH NEXT 2 ROWS ONLY ;
我得到的执行结果。
Name Date Earnings
person1 2015-11-21 00:00:00.000 11.21
person1 2015-10-05 00:00:00.000 10.05