Показать сообщение отдельно
  #2  
Старый 26.05.2008, 19:38
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,096
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Лучше в 2 этапа.

Первый. Получаем связку ID клиента - сумма покупки, отсортированную в порядке убывания:

SELECT ClientID, SUM(PurchaseSUM) SUM_PurchaseSUM FROM Purchases GROUP BY ClientID ORDER BY SUM_PurchaseSUM DESC

Второй. Перечисляем покупки для первой записи.

SELECT * FROM Purchases WHERE ClientID = :ClientID

В параметр :ClientID подставляется ID первой записи из этапа 1.
Ответить с цитированием