SQL - 如果数组包含特定项目则过滤行

标签 sql postgresql

我有一个表 letter_count 看起来像这样:

count   letters
2   ["a","b"]
4   ["b","c"]
2   ["a"]
0   ["b"]
6   ["c"]
7   ["d"]

我希望能够只查询包含特定字母的行。

我试过:

SELECT * FROM letter_counter WHERE letters IN ('["a"]')

但它失败了。

这里的正确语法是什么?

最佳答案

试试这个选择:

SELECT * FROM letter_counter 
WHERE(case when position('a' in array_to_string(letters,',')) > 0 then true else false end)

关于SQL - 如果数组包含特定项目则过滤行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38951902/

相关文章:

postgresql - 无法安装 pgcrypto

postgresql - 将 AWS RDS 实例重置为初始状态的最快方法?

java - Java Hibernate 中最后插入的 Id

mysql - 遇到 "unknown tablefield"但已定义

java - 用更轻的解决方案替换完整的 ORM (JPA/Hibernate) : Recommended patterns for load/save?

sql - postgres 在冲突错误时插入 - 没有唯一或排除约束

ruby - 准备好的语句已经存在

Django db 备份 postgres 错误

sql - 优化 SQL 连接单列与另一个表中的多列

c# - SQLDataAdapter 不返回最后一行数据