How to select only the first rows for each unique value of a column

Posted by nuit9 on Stack Overflow See other posts from Stack Overflow or by nuit9
Published on 2011-01-11T20:48:13Z Indexed on 2011/01/11 20:53 UTC
Read the original article Hit count: 283

Filed under:
|
|

Let's say I have a table of customer addresses:

CName           |   AddressLine
-------------------------------
John Smith      | 123 Nowheresville
Jane Doe        | 456 Evergreen Terrace
John Smith      | 999 Somewhereelse
Joe Bloggs      | 1 Second Ave

In the table, one customer like John Smith can have multiple addresses. I need the select query for this table to return only first row found where there are duplicates in 'CName'. For this table it should return all rows except the 3rd (or 1st - any of those two addresses are okay but only one can be returned). Is there a keyword I can add to the SELECT query to filter based on whether the server has already seen the column value before?

© Stack Overflow or respective owner

Related posts about sql

Related posts about query