Sql 在一行中汇总数据,选择“最大日期”或“最小日期”

Sql 在一行中汇总数据,选择“最大日期”或“最小日期”,sql,view,max,Sql,View,Max,我有一组来自SQLServer上多个表的数据。它们包括与客户相关的不同日期的交易。我想创建一个SQL Server视图,每个客户有一行。对于日期,我希望使用最新或最早的日期。日期是数字格式的,所以我想我可以使用MAX或MIN来创建视图,但我不确定我做错了什么,因为它没有发生。 简言之,我希望得到金额的总和,对于上面的例子20160608或20140228,我希望得到其中一个日期。这是您想要的吗 select customer, sum(amount_tr), min(date_tr), max

我有一组来自SQLServer上多个表的数据。它们包括与客户相关的不同日期的交易。我想创建一个SQL Server视图,每个客户有一行。对于日期,我希望使用最新或最早的日期。日期是数字格式的,所以我想我可以使用MAX或MIN来创建视图,但我不确定我做错了什么,因为它没有发生。

简言之,我希望得到金额的总和,对于上面的例子20160608或20140228,我希望得到其中一个日期。

这是您想要的吗

select customer, sum(amount_tr), min(date_tr), max(date_tr)
from t
group by customer;

假设
customer\u id
是您的
customer
列。 您可以创建一个
子查询
,其中包含
max()
日期和
客户id
,然后连接到主
以使用其他

select t1.* from 
tableA t1
inner join 
    (select customer_id, max(date_tr) date_tr
    from tableA
    group by customer_id) t2 on t2.customer_id = t1.customer_id
        and t1.date_tr = t2.date_tr

您如何识别客户?