 <p>There is really no such simple concept as "next occurrences" in SQL because the sets/relations are by default <em>unordered</em>. You must explicitly state how the rows are to be ordered with an ORDER BY clause and then select from that ordered relation the row or rows you want (using TOP in SQL Server 2000). You don't appear to be sorting by C3 descending (since Jane has a 346 and you want her 245). What tacit order-by is implicit in your word "next" (i.e. you want the <em>first</em> row per distinct person) ? How do you wish to define <em>first</em> in this query? Do you want each person's lowest C3 value? If so you could group by person taking the min(c3) in an inline view and join that inline view to another inline view where you have selected the distinct C1.</p>