需要使用REGEXP_REPLACE和SPLIT_PART限制显示的结果

问题描述 投票:2回答:1

所以我正在运行下面的查询,如果可能的话,我需要根据案例整合我的结果

所以这是查询

SELECT REGEXP_REPLACE(SPLIT_PART(note,'Comments:',2),'\s+$', '') AS reason,
  COUNT(*)
FROM notes
WHERE note LIKE 'Sending disabled due to reason%'
  AND note NOT LIKE '%ultiple%'
  AND note NOT LIKE '%www.%'
  AND REGEXP_REPLACE(SPLIT_PART(note,'Comments:',2),'\s+$', '') NOT LIKE '%http%'
  and created_at > CURRENT_TIMESTAMP - INTERVAL '7 days'
GROUP BY REGEXP_REPLACE(SPLIT_PART(note,'Comments:',2),'\s+$', '')
HAVING COUNT(*) >= 1
ORDER BY COUNT(*);

现在我得到了很多我想要的结果..但我有一套基本上都是相同的“垃圾邮件”,但在数据库中,存在一些案例差异

垃圾邮件(房地产) 垃圾邮件(房地产) 垃圾邮件 垃圾邮件垃圾邮件(测试)CV垃圾邮件 垃圾邮件(房地产)等

我真的只是希望在备注中有任何垃圾邮件可以计入一个垃圾邮件标题与所有变体。这可能吗?

sql regex psql
1个回答
0
投票

您可以添加一个AND。并注意ilike'%spam%'。 ilike与LIKE类似,但它不区分大小写。然后,您可以自定义查询以获取垃圾邮件计数

© www.soinside.com 2019 - 2024. All rights reserved.