如何解决PostgreSQL无法解释的结果-使用timestamptz :: date
请查看发布结束以进行更新。
1-排除bool设置为false的所有行
2-将时间(这是时间戳记)更新为日期(我们将其称为“ D”)
3-按两列(组和D)分组并计算行数
group,time,bool
grp-A,2020-08-28 13:23:00.000000 +00:00,true
grp-A,2020-08-28 10:19:00.000000 +00:00,false
grp-A,2020-08-28 09:23:00.000000 +00:00,true
grp-B,2020-08-28 13:51:00.000000 +00:00,true
grp-B,2020-08-27 22:35:00.000000 +00:00,2020-08-27 15:10:00.000000 +00:00,2020-08-27 22:06:00.000000 +00:00,2020-08-27 13:03:00.000000 +00:00,true
答案应该是:
group,count(*)
grp-A,2020-08-28,2
grp-B,1
grp-A,2020-08-27,1
grp-B,2
我尝试使用的查询如下:
select group,time::date D,count(*)
from table
where bool = True
group by group,D;
有什么想法让我错了吗?预先谢谢你!
重要!编辑:我已经将此问题隔离到查询的time::date
部分。我写了一个新查询:
select time::date
from table
当我执行此操作时,它返回日期列表,但不是所有日期-只有一些!有人知道为什么会这样吗?
解决方法
您可以尝试以下-
select grpval,cast(time as date),count(*)
from tablename
where boolval = true
group by grpval,cast(time as date)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。