please try:
SELECT DISTINCT TOP 3 order_no, customer_name, Purchase_CostFROM( SELECT order_no, customer_name, Purchase_Cost, ROW_NUMBER() OVER(PARTITION BY customer_name ORDER BY Purchase_Cost DESC) Orders FROM PurchaseTable) AWHERE A.Orders = 1ORDER BY Purchase_Cost DESC