You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求筛选排除被同count的其他phrase包含的记录的SQL查询

SQL查询:移除被同count值短语包含的记录

数据表结构

现有数据表 this_table(其中phrase字段始终唯一):

phrasecount
elemo11
e37
elemo a11
r sundt6
wit102
lolo m102
o1475
mo111
lo m186
domo111

需求

编写一条SQL查询语句,移除满足以下条件的记录(记为record A):存在另一条记录(record B),record A的phrase字段值被record B的phrase字段值包含,且两者的count字段值相同。

期望结果

执行查询后应得到如下结果:

phrasecount
e37
elemo a11
r sundt6
wit102
lolo m102
o1475
lo m186
domo111

解决方案

使用NOT EXISTS子查询筛选出不符合被包含条件的记录,核心逻辑是:对每条记录,检查是否不存在另一条同count值且包含当前phrase的记录。

SQL语句

SELECT t1.phrase, t1.count
FROM this_table t1
WHERE NOT EXISTS (
    SELECT 1
    FROM this_table t2
    WHERE t2.count = t1.count
      AND t2.phrase != t1.phrase
      AND t2.phrase LIKE CONCAT('%', t1.phrase, '%')
);

语句说明

  • t1代表主查询中待判断的记录(record A)
  • 子查询中t2代表可能包含t1.phrase的记录(record B)
  • t2.count = t1.count确保两者count值一致
  • t2.phrase != t1.phrase排除记录自身(因phrase字段唯一,可省略,但加上更严谨)
  • t2.phrase LIKE CONCAT('%', t1.phrase, '%')判断t1.phrase是否被t2.phrase包含

内容的提问来源于stack exchange,提问作者user18882423

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 07:35:18