在postgresql中计算[Col​​umn]中包含[Word]的所有行

时间:2016-12-15 02:35:06

标签: postgresql count

我需要计算并获取包含特定列中给定单词的表中所有行的输出。像

这样的东西
ID    Name    Fave    
678   Adam    cannot bear this
355   Baloo   bear is a bear 
245   Cheeta  runs fast

因此,我可以在'Fave'列中计算包含单词'bear'的行数时输出'2'(而不是'3'),并输出前两行的输出表格输出/选择行。

我试过

SELECT * WHERE regexp_matches(Fave, 'bear') FROM table_name

但是我在FROM附近遇到语法错误,所以我在哪里遇到麻烦。有什么指示/帮助吗?

3 个答案:

答案 0 :(得分:1)

您在寻找:

SELECT * FROM table_name WHERE Fave like '%bear%'

答案 1 :(得分:1)

ColorFROM

之前
WHERE

当然,您也可以使用SELECT * FROM table_name WHERE regexp_matches(Fave, 'bear') ; ,但问题是查询中子句的顺序。

答案 2 :(得分:0)

select * from table_name where Fave ~* '\mbear\M';

~* - 不区分大小写的正则表达式匹配
'\m...\M' - 单个字,因此'taddy bear'匹配且taddybear不匹配。