最新记录和总和SQL
我正在寻找解决这个问题的办法 表: 我希望此输出显示基于最大事务id的最新层 你可以做:最新记录和总和SQL,sql,sql-server,tsql,Sql,Sql Server,Tsql,我正在寻找解决这个问题的办法 表: 我希望此输出显示基于最大事务id的最新层 你可以做: select *, sum(select sum(t1.poin) from table t1 where t1.member_id = t.member_id ) as poin, sum(select sum(t1.freq) from table t1
select *, sum(select sum(t1.poin)
from table t1
where t1.member_id = t.member_id
) as poin,
sum(select sum(t1.freq)
from table t1
where t1.member_id = t.member_id
) as freq
from table t
where trans_id = (select t1.trans_id
from table t1
where t1.member_id = t.member_id
order by t1.trans_id desc
fetch first 1 rows only
);
大多数DBMS都支持只获取前1行的方法
如果您正在使用SQL Server,则可以直接将其表示为:
select t.member_id, tt.*
from (select *, row_number() over (partition by member_id order by trans_id desc) as seq
from table
) t cross apply (
select sum(t1.poin) as poin, sum(t1.freq) as freq
from table t1
where t1.member_id = t.member_id
) tt
where t.seq = 1;
这里的大多数人都需要格式化的文本,而不是图像或链接到图像。大多数人都认为标题中的所有标题都是高喊的。你如何选择哪一层来选择TurnID?标记DBMS,即MySQL、SQL Server等。您正在使用的。非常感谢您的帮助,先生。它工作得很好。次要更正,第一行,类型:选择t.member_id,t.tier,tt.*以获取层信息。非常感谢