我希望的是能够计算与单个事件对应的数组元素中真实(出勤)、假实(未出勤)和 NULL 的数量。
编辑:
我刚意识到在 pSQL 中数组的行为与我所想的不同,所以一个简单的
编辑:
我刚意识到在 pSQL 中数组的行为与我所想的不同,所以一个简单的
userconfirm bool[]
也许可以解决问题。但我仍然无法统计 true/false/null 值。我将尝试编辑以下问题以符合这个新限制。对任何错误我深感抱歉。
我有一列数据如下:
userconfirm bool[]
如果 userconfirm[314] = true
,则表示用户#314将出席。(false = 不出席,NULL = 未读/等等)。
我不确定这是否是此功能的最佳解决方案(用户宣布参加活动),但我在此列上使用聚合函数时遇到了问题。
select count(*) from foo where id = 6 AND true = ANY (userconfirm);
这只返回1,尝试谷歌搜索“计数数组”并没有找到有用的信息。
我该如何计算单个事件的不同值的数量?
'f'
来反转它以获得相反的结果。不知道你是否知道如何获取一个索引列表,这些索引是真实的?例如,让它返回1,4,314
。 - TLPunnest
和generate_series
的组合来实现;使用unnest
打开数组并使用generate_series
提供索引号。然后,也许可以使用array_agg
将它们重新组合在一起。 - mu is too shortrank() over
来提供索引。 - mu is too short