我已表喜:
name | timeStamp | previousValue | newValue
--------+---------------+-------------------+------------
Mark | 13.12.2020 | 123 | 155
Mark | 12.12.2020 | 123 | 12
Tom | 14.12.2020 | 123 | 534
Mark | 12.12.2020 | 123 | 31
Tom | 11.12.2020 | 123 | 84
Mark | 19.12.2020 | 123 | 33
Mark | 17.12.2020 | 123 | 96
John | 22.12.2020 | 123 | 69
John | 19.12.2020 | 123 | 33
我想混合last_value、count(*)和group来得到这个结果:
name | count | lastValue
--------+-----------+-------------
Mark | 5 | 33
Tom | 2 | 534
John | 2 | 69
本部分:
select name, count(*)
from table
group by name
返回表:
name | count
--------+---------
Mark | 5
Tom | 2
John | 2
但我必须为每个名称添加最后一个值。
怎么做呢?
顺祝商祺!
2条答案
按热度按时间cs7cruho1#
LAST_VALUE
是一个窗口函数,因此您需要首先获取该值,然后进行聚合:eimct9ow2#
我有一个可行的解决方案,但这里还有一个:
好好保管!