SQL Server: получение максимальной стоимости покупки для каждого человека - PullRequest
0 голосов
/ 16 мая 2018

У меня есть следующий запрос

select 
    C.Persona, C.Producto, Sum(C.Cantidad * P.Precio) [Total_Purchase]
from
    Compras C 
join
    Precios P on C.Producto = P.Item
group by 
    C.Producto, C.Persona

, который возвращает общую сумму покупок, сделанных каждым клиентом (персоной) для каждого продукта. Как я могу получить максимальную общую сумму покупки для каждого клиента и соответствующего продукта?

Ответы [ 3 ]

0 голосов
/ 16 мая 2018

Попробуйте это:

select 
     max(c.[Total_Purchase]), C.Producto ,C.Persona
from 
    (select 
         C.Persona, C.Producto, Sum(C.Cantidad*P.Precio) [Total_Purchase]
     from
         Compras C 
     join
          Precios P on C.Producto = P.Item
     group by 
         C.Producto, C.Persona) c
 group by 
     C.Producto, C.Persona
0 голосов
/ 16 мая 2018

Измените совокупную сумму сумм на МАКС или включите обе

select C.Persona,C.Producto,
        Sum(C.Cantidad*P.Precio) [Total_Purchase],
        MAX (C.Cantidad*P.Precio) [Total_Purchase
from
Compras C JOIN Precios P ON C.Producto=P.Item
group by C.Producto ,C.Persona
0 голосов
/ 16 мая 2018

Вы можете использовать функцию MAX() для этого.Вы можете добавить его в ваш выбор, и он будет работать, даже если используется SUM().

MAX () Примеры

...