Hola.
Para resolver tu problema asumiré que la estructura de tablas es la siguiente:
Cliente(IdCliente,Nombre,…)
Detalles_Compra(IdDetalle,IdCliente,Monto (el costo del producto),…)
Para saber cual cliente compro mas la consulta seria la siguiente:
Código SQL
[-]Select Top 5 Cliente.IdCliente,Cliente.Nombre, Sum(Detalles_Compra.Monto) as TotalComprado
From Cliente Inner Join Detalles_Compra On Cliente.IdCliente=Detalles_Compra.IdCliente
Group By Cliente.IdCliente,Cliente.Nombre
Order by TotalComprado Desc
Nota: Si es que alguna función utilizada en esta consulta no es reconocida, busca su equivalente…
Espero que este aporte te ayude. Saludos.