gpt4 book ai didi

MySQL-基于多列输出 "other"列

转载 作者:行者123 更新时间:2023-11-29 09:48:13 24 4
gpt4 key购买 nike

我正在使用 MySQL REGEXP 将评论分配到不同的主题并将它们输出到单独的列中。问题是 - 有些评论可能不会分配给任何主题,这就是为什么我需要“其他”专栏。如何修改下面的查询来实现这一点?

SELECT 
text,
text REGEXP 'keywords' AND text REGEXP 'other keywords' AND .... AS Cleanliness,
text REGEXP 'keywords' AND text REGEXP 'other keywords' AND .... AS Restaurant,
text REGEXP 'keywords' AND text REGEXP 'other keywords' AND .... AS Wifi,
FROM review_table;

请注意,一条评论可以属于多个主题。最终结果应如下所示:

The end result will be a view that should look like this

最佳答案

一种解决方案是创建另一个 REGEXP 表达式来表示所有其他表达式的否定。但这很快就会变得维护起来很乏味。

另一种选择是仅包装查询并分析外部查询中的结果以生成附加列。这应该很简单:

SELECT x.*, (Cleanliness + Food + Wifi = 0) AS Other
FROM (
--- original query
) x
<小时/>

提示:在 MySQL 中,条件表达式的返回值为 1 成功时为 1 ,失败时为 0 。这意味着这个表达式:

CASE 
WHEN review REGEXP 'relevant keywords'
AND review REGEXP 'additional keywords if necessary'
THEN 1
ELSE 0
END AS 'Cleanliness'

也可以写成:

(
review REGEXP 'relevant keywords'
AND review REGEXP 'additional keywords if necessary'
) AS 'Cleanliness'

关于MySQL-基于多列输出 "other"列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55288832/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com