I need to select the most recent 100 records by order number (returning a total of 100 records):

```
select top 100 orderNo, orderDate, orderTypeName, field1, field2, name, address
from orders
where dispatched = 1
order by orderNo desc

```

(orderNo is sequential and the highest number is the latest order).

This gets me the most recent 100 orders. But I'd like the most recent 100 orders to sort on OrderTypeName in order for each OrderTypeName to be listed together.

This works in other queries that don't need to select the top 100 records - but of course here if I sort on OrderTypeName first it stops selecting the most recent 100 records.

How can I do this? I've tried searching Google but I don't even really know what to search for. (I tried - 'select top n' then resort results for example - no joy).

Thanks.