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

MySQL中查找两列重复文本记录及去重后文本总数的最优查询方法

MySQL两列文本重复记录查询与去重统计

一、查找两列文本内容重复的记录

假设你的表名为your_table,两个text列分别是col1和col2,直接高效的查询语句如下:

SELECT * FROM your_table WHERE col1 = col2;

如果需要忽略文本首尾的空白字符差异,可使用TRIM()函数优化:

SELECT * FROM your_table WHERE TRIM(col1) = TRIM(col2);

若表数据量较大,建议为col1和col2创建前缀索引(text列无法直接创建普通索引)来提升查询效率:

CREATE INDEX idx_col1_trim ON your_table (TRIM(col1));
CREATE INDEX idx_col2_trim ON your_table (TRIM(col2));

二、统计两列去除重复项后的文本总数

通过合并两列数据并去重后统计总数,语句如下:

SELECT COUNT(DISTINCT combined_text) AS unique_total
FROM (
    SELECT col1 AS combined_text FROM your_table
    UNION
    SELECT col2 AS combined_text FROM your_table
) AS temp;

同样,若需忽略首尾空白,可加入TRIM()处理:

SELECT COUNT(DISTINCT TRIM(combined_text)) AS unique_total
FROM (
    SELECT TRIM(col1) AS combined_text FROM your_table
    UNION
    SELECT TRIM(col2) AS combined_text FROM your_table
) AS temp;

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 02:22:35