我有下表
seq_id | value| data
-------------------------
1 | 10 | true
1 | 11 | false
1 | 12 | true
2 | 13 | false
2 | 14 |
2 | 15 | true
我希望带有seq_id
的结果输出与数据为真的值
select rs.seq_id , array_to_string(array_agg (CASE when rs.data='TRUE' then rs.value else NULL END), ', ') as demo
from my_table.record_set rs
group by seq_id order by seq_id
上述查询导致所有值包括NULL 如何只将Non NULL值作为输出?
答案 0 :(得分:1)
把它放在“from”之后:
WHERE rs.data IS NOT NULL
编辑:使用“where”子句选择所需的行。通常“where”子句放在“from”子句之后。如果您只想获取“data”为true的行,那么您可以输入:
where rs.data = TRUE
因为它们是布尔值,所以只需:
即可where rs.data