我有一张table如下:
id | most_recent_run | flag1 | flag2
---+------------------+-------+------
1 | 2017-01-01 10:40 | 0 | 1
1 | 2017-01-01 18:30 | 1 | 1
2 | 2017-02-28 04:30 | 1 | 0
我想查询这个表,以便 id
,我明白了 max(most_recent_run)
, sum(flag1)
以及 sum(flag2)
. 这应该是查询结果:
id | max_most_recent_run | flag1_count | flag2_count
---+---------------------+-------------+------------
1 | 2017-01-01 18:30 | 1 | 2
2 | 2017-02-28 04:30 | 1 | 0
我尝试过使用collect和rank函数的组合来编写这个查询,但是没有得到预期的结果。
如能就此作出任何解释或指示,将不胜感激。
谢谢!
1条答案
按热度按时间6jjcrrmo1#
你应该使用sql
group by
语句,然后使用max
以及sum
功能,即: