PostgreSQL中的Countif等效项

时间:2020-08-23 05:03:33

标签: postgresql

我有一个如下表:

enter image description here

在Postgresql中,我尝试根据quiz_id和user_id_1的组合计算 user_id_2 。 question_id和questions_answered列与计数无关紧要。因此,例如, user_id_2 的计数应该为3,因为它对应于quiz_id 1234和user_id_1 2220的3行。另一方面, user_id_2 计数为1,因为它仅在quiz_id 1234和user_id_1 2220中出现一次。因此该操作将与Excel中的“ countif”函数有些相似,不同的是在这种情况下,计数还应考虑quiz_id和user_id_1列。 / p>

所需结果应类似于下表,其中添加了包含这些计数的 count_user_id_2 列。 question_id列将被放置在输出表中,但是必须保留questions_answered列。如下表所示:

enter image description here

我已经尝试过Saving and Loading the Model函数,但是它为每个计数返回了一个过大的数字。我也尝试过Custom Objects,但答案似乎也不对。任何建议/建议将不胜感激。

1 个答案:

答案 0 :(得分:1)

从示例记录中,您可以尝试以下查询

select quiz_id,user_id_1,user_id_2,count(*) as count_user_id_2,questions_answered
from table group by quiz_id,user_id_1,user_id_2,questions_answered;