0

我试图简单地重新计算每个用户在我公司的网站上累积了多少处罚,但避免了已删除的用户(我的行是静态的,但每周添加的新行更新了用户信息)

所以我有这个:

penalty_id    date    user    user_status
1             22/09   aaa     active
2             23/09   bbb     active
3             23/09   ccc     active
4             01/10   bbb     active
5             02/10   aaa     deleted

我想要这个:

user     pentaly_count
bbb      2
ccc      1

到目前为止,我已经想出了这个

=query(Penalties!A:D;"select C, count(A) where D !='deleted' group by C label C 'user', count(A) 'penalty_count'")

所以我最终得到了这个:

user     pentaly_count
bbb      2
aaa      1*
ccc      1

该查询跳过 id 为 5 的惩罚计数,但我希望它完全跳过用户 aaa。

我本可以在 SQL 中通过简单的子查询甚至连接来管理它,但是我想出的所有东西,谷歌表格都说它不起作用。

4

1 回答 1

0

请试试这个

select C, count(A) 
group by C 
having min(case when D ='deleted' then 1 end) is null
label C 'user', count(A) 'penalty_count'
于 2017-02-02T12:30:47.260 回答