繁体   English   中英

PostgreSQL根据数组值的组合选择行

PostgreSQL Select rows based on combination of array values

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我想从数据库中选择所有行,其中一行包含一组单词/数组中至少两个词。

例如:我有以下数组:

'{"test", "god", "safe", "name", "hello", "pray", "stay", "word", "peopl", "rain", "lord", "make", "life", "hope", "whatever", "makes", "strong", "stop", "give", "television"}'    

然后我将推文数据集存储在数据库中。 所以我想知道哪些推文(列名: tweet.content)包含 至少两个词。

我当前的代码看起来像这样(但当然它只会选择一个单词...):

CREATE OR REPLACE VIEW tweet_selection AS 
SELECT tweet.id, tweet.content, tweet.username, tweet.geometry,
FROM tweet
WHERE tweet.topic_indicator > 0.15::double precision
AND string_to_array(lower(tweet.content)) = ANY(SELECT '{"test", "god", "safe", "name", "hello", "pray", "stay", "word", "peopl", "rain", "lord", "make", "life", "hope", "whatever", "makes", "strong", "stop", "give", "television"}'::text[])

所以最后一行需要以某种方式进行调整,但是我不知道如何-也许有内部联接?!

我的单词也以唯一的ID存储在另一个表中。

我的一个朋友建议获取每一行的计数,但是我没有写权限在原始表中添加额外的列。

背景:

我将推文存储在postgres数据库中,并对数据集应用了LDA(潜在狄利克雷分配)。 现在,我得到了生成的主题以及与每个主题相关的单词(20个主题和25个单词)。

1 个回复
select DISTINCT ON (tweet.id) tweet.id, tweet.content, tweet.username, tweet.geometry
from tweet
where
    tweet.topic_indicator > 0.15::double precision
    and (
        select count(distinct word)
        from
            unnest(
                array['test', 'god', 'safe', 'name', 'hello', 'pray', 'stay', 'word', 'peopl', 'rain', 'lord', 'make', 'life', 'hope', 'whatever', 'makes', 'strong', 'stop', 'give', 'television']::text[]
            ) s(word)
            inner join
            regexp_split_to_table(lower(tweet.content), ' ') v (word) using (word)
    ) >= 2
1 PostgreSQL选择行(结果)作为数组

假设我有下表,加上一些数据。 现在,我有了这个选择查询,它将返回类似这样的内容。 select * from common.log where id=147; 现在我喜欢上面的内容 那么是否有任何隐式的select子句/方式来执行此操作? 谢谢。 pgsql v9 ...

4 Postgresql 选择列 = 数组的行

这是我正在尝试做的事情的总结: 显然,存在一些语法问题,但这是我想要做的,我还没有找到任何显示如何做的东西。 目前,我的计划是按照以下方式做一些事情: 那么 PostgreSQL 是否支持使用数组进行搜索,或者我是否必须执行类似于我的解决方案的操作? ...

5 根据特定值选择行的组合

我有这张桌子: 我想从中获得这种可能的组合: 我想通过WeekID在ProductID上选择以下任意组合: ISModelled列的“ EPOS”在Units和Value列中的值为0,而IsModelled列与Model的Units和Value列中的值大于0 。 感谢所有帮 ...

6 mysql根据值选择行的组合

我有一个员工主表,其中有一个名为“性别”的字段。 我想从员工主表中选择总共10条记录,在这里我应该获得5条Gender作为男性和5条Gender作为女性的记录。 我怎样才能做到这一点? ...

2015-11-19 08:30:51 1 35   mysql
7 如何选择行以组合列值

我的表search_settings的内容如下: 如何选择唯一的query_id ,而现有的条目具有language_id = 71和language_id = 72和language_id = 73? 例如,如果language_id=74和language_id=75 ,我需要 ...

2016-05-10 13:05:04 1 48   mysql/ sql
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM