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