postgresql SQL查询的这一部分是什么意思?

qeeaahzv  于 2023-01-30  发布在  PostgreSQL
关注(0)|答案(2)|浏览(145)

sum( (record_id is NULL AND joined.table_id is NULL)::int )我知道sum返回列条目的和,但是这个表达式(... and...)返回什么?它能和这个表达式(.. + ..)比较吗?这个()::int??将result转换为int?
我不知道会不会返回这个表达式,对我的采样会不会返回整数个数

dgtucam1

dgtucam11#

这是一种更复杂的书写方式

count(*) FILTER (WHERE record_id IS NULL
                   AND joined.table_id IS NULL)
e5nqia27

e5nqia272#

如果record_idjoined.table_id都为空,则(record_id is NULL AND joined.table_id is NULL)::int将返回1。
因此,sum( (record_id is NULL AND joined.table_id is NULL)::int )将返回record_idjoined.table_id都为空的行数。

相关问题