I have this query:
SELECT TOP (1000) [id]
,[name]
,[dob]
FROM [Production].[dbo].[test]
ORDER by [dob] ASC
Result:
id | name | dob |
---|---|---|
1 | Danny Small | 1/1/2009 |
3 | Victor Brady | 1/1/2009 |
4 | Maximus Hoffman | 1/1/2009 |
9 | Rosa Braun | 1/1/2009 |
10 | Marley Chapman | 1/1/2009 |
11 | Cristian Chaney | 1/1/2009 |
6 | Shayla Farrell | 1/1/2009 |
7 | Tom Summers | 1/1/2009 |
15 | Madison Reid | 1/1/2009 |
16 | Nelson Green | 1/1/2009 |
18 | Dalton Duran | 1/1/2009 |
24 | Karina Giles | 1/1/2009 |
25 | Jon Jon | 1/1/2009 |
17 | Riya Webster | 1/3/2009 |
12 | Alexus Cisneros | 1/3/2009 |
13 | Ann Mcclure | 1/3/2009 |
14 | Aryan Cortez | 1/3/2009 |
5 | Stefan Tamburyn | 1/3/2009 |
23 | Dalton Duran | 1/3/2009 |
2 | Eva Hobbs | 1/5/2009 |
8 | Elliott Acosta | 1/5/2009 |
22 | Kadin Mcclure | 1/5/2009 |
Now I want to get first 10 records:
SELECT [id]
,[name]
,[dob]
FROM [Production].[dbo].[test]
ORDER by [dob] ASC
OFFSET 0 ROWS FETCH NEXT 10 ROWS ONLY;
Result:
id | name | dob |
---|---|---|
1 | Danny Small | 1/1/2009 |
11 | Cristian Chaney | 1/1/2009 |
10 | Marley Chapman | 1/1/2009 |
9 | Rosa Braun | 1/1/2009 |
4 | Maximus Hoffman | 1/1/2009 |
3 | Victor Brady | 1/1/2009 |
7 | Tom Summers | 1/1/2009 |
6 | Shayla Farrell | 1/1/2009 |
15 | Madison Reid | 1/1/2009 |
16 | Nelson Green | 1/1/2009 |
Now I want to get second 10 records:
SELECT [id]
,[name]
,[dob]
FROM [Production].[dbo].[test]
ORDER by [dob] ASC
OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY;
Result:
id | name | dob |
---|---|---|
7 | Tom Summers | 1/1/2009 |
6 | Shayla Farrell | 1/1/2009 |
25 | Jon Jon | 1/1/2009 |
5 | Stefan Tamburyn | 1/3/2009 |
14 | Aryan Cortez | 1/3/2009 |
13 | Ann Mcclure | 1/3/2009 |
12 | Alexus Cisneros | 1/3/2009 |
17 | Riya Webster | 1/3/2009 |
23 | Dalton Duran | 1/3/2009 |
22 | Kadin Mcclure | 1/5/2009 |
As you can see records:
7 | Tom Summers | 1/1/2009 |
6 | Shayla Farrell | 1/1/2009 |
are duplicated in first 10 records and second 10 records.
I understand that ORDER BY
is messing around.
Solution could be adding another ORDER BY
but what if have to use only one column to ORDER BY
and some cells may have same value?