假设,为简单起见,我有下表:
id amount p_id date
------------------------------------------------
1 5 1 2020-01-01T01:00:00
2 10 1 2020-01-01T01:10:00
3 15 2 2020-01-01T01:20:00
4 10 3 2020-01-01T03:30:00
5 10 4 2020-01-01T03:50:00
6 20 1 2020-01-01T03:40:00
这是我想要的示例响应:
{
"2020-01-01T01:00:00": 25, -- this is from adding records with ids: 2 and 3
"2020-01-01T03:00:00": 55 -- this is from adding records with ids: 3,4,5 and 6
}
我想得到按小时分组sum(amount)
的所有 unique 的总数( ) 。p_id
每个选择的行p_id
是最新的date
。因此,例如,上述响应中的第一个值不包括在内id 1
,因为记录id 2
具有相同p_id
且该date
行上的记录较晚。
一件棘手的事情是我想包括所有amount
每个人的总和,p_id
如果他们date
在提出的时间之前。因此,例如,在响应的第二个值(键为“2020-01-01T03:00:00”)中,即使id 3
时间戳在不同的时间,它也是最新的,p_id 2
因此包含在总和中“2020-01-01T03:00:00”。但是具有相同id 6
覆盖的行。id 2
p_id 1
换句话说:到目前为止,总是取amount
每个最新的,并计算表中每个不同小时的总和。p_id