I have a list of items
ItemName Manufacturer TopSalesUnit
Item1 A 100
Item2 A 80
Item3 A 60
Item4 B 70
Item5 B 50
Item6 B 30
Item7 C 10
Item8 C 05
I would like the records to be ordered so that the highest TopSalesUnit item is shown first, then the next highest item from a different manufacturer is shown second, then the next highest item from a third manufacturer is shown, etc.:
ItemName Manufacturer TopSalesUnit
Item1 A 100
Item4 B 070
Item7 C 010
Item2 A 080
Item5 B 050
Item8 C 005
Item3 A 060
Item6 B 030
How to write a query in T-SQL to achieve it?