SQL Server:为每个人获取最大购买价值



我有以下查询

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

返回每个客户(角色(对每个产品的总购买量。 我怎样才能让它为每个客户和所涉及的产品带来最大总购买量?

您可以使用MAX()函数来执行此操作。 您可以将其添加到您的选择中,即使使用SUM(),它也会起作用。

MAX(( 示例

将 SUM 聚合更改为 MAX 或同时包含两者

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

试试这个:

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

最新更新