If the ID is unique across all records,

SELECT * FROM <tablename> WHERE ID NOT IN (SELECT MAX(ID) FROM <tablename>GROUP BY NAme,Desc,Date,Etc)

On Thu, 17 Nov 2022 at 16:02, Tom P via ozdotnet <ozdotnet@ozdotnet.com> wrote:
Apologies if this is basic for probably most of you but I just can't get my head around it.

I have a flat table in sql server which contains lots of duplicates, differing only by one column.

Id,Name,Desc,Date,Etc
1,abc,abc abc,2022-11-17,a
2,abc,abc abc,2022-11-17,a
5,def,def def,2022-11-17,a
4,abc,abc abc,2022-11-17,a
3,def,def def,2022-11-17,a
6,xyz,def def,2022-11-17,a

I'm trying to write a query that finds all duplicates excluding the ones with the highest Id. So for the above example it would return the following:

Id,Name,Desc,Date,Etc
1,abc,abc abc,2022-11-17,a
2,abc,abc abc,2022-11-17,a
3,def,def def,2022-11-17,a

There are many millions of rows to process so looking for something efficient. Any advice would be appreciated.

Regards
Tom

--
ozdotnet mailing list
To manage your subscription, access archives: https://codify.mailman3.com/


--
Alan Ingleby