有一张表A里有这样几个字段:serv_id,acct_id,charge,state_date,serial_nbr,state,我想得到这样一个结果,按照serv_id,acct_id进行分组,然后求sum(charge),以及max(state_date)对应的serial_nbr和state,也就是说假设表里面有如下两条数据serv_id acct_id charge state_date serial_nbr state
1 1 2 2006-5-17 123 2C
1 1 3 2006-5-18 11 2D我希望得到这样一条记录
serv_id acct_id sum(charge) serial_nbr state
1 1 5 11 2D
其中serial_nbr和state都是取2006-5-18(max(state_date))这条记录的值。 请问大家该如何写呢?谢谢!
1 1 2 2006-5-17 123 2C
1 1 3 2006-5-18 11 2D我希望得到这样一条记录
serv_id acct_id sum(charge) serial_nbr state
1 1 5 11 2D
其中serial_nbr和state都是取2006-5-18(max(state_date))这条记录的值。 请问大家该如何写呢?谢谢!
sum(charge) over(partition by serv_id ,acct_id) sum_charge,
first_value(serial_nbr) over(partition by serv_id ,acct_id order by state_date desc) serial_nbr,
first_value(state) over(partition by serv_id ,acct_id order by state_date desc) state
from a