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

基于多表多条件统计用户重复标签实例

用户标签重复统计解决方案

一、统计每个用户每个标签的重复实例数

要找出单个用户重复添加的标签及其重复次数,核心是按用户ID+标签ID联合分组,这样才能精准定位到同一用户对同一标签的重复操作。SQL语句如下:

SELECT
    p.personID AS 用户ID,
    p.name AS 用户名,
    w.wordID AS 标签ID,
    w.name AS 标签名,
    COUNT(pw.peopleWordID) AS 重复次数
FROM
    peopleWords pw
JOIN people p ON p.personID = pw.personID
JOIN words w ON w.wordID = pw.wordID
GROUP BY
    pw.personID,
    pw.wordID
HAVING
    COUNT(pw.peopleWordID) > 1;

这里的重复次数就是该用户重复添加对应标签的总条数(比如重复加了3次,这个值就是3)。

二、统计存在重复标签的用户总数

如果只需要知道有多少用户存在标签重复的情况,可以基于上述结果进一步聚合:

SELECT COUNT(DISTINCT personID) AS 存在重复标签的用户数
FROM (
    SELECT
        pw.personID
    FROM
        peopleWords pw
    GROUP BY
        pw.personID,
        pw.wordID
    HAVING
        COUNT(pw.peopleWordID) > 1
) AS 有重复标签的用户列表;

原SQL的问题分析

你原来的SQL只按wordID分组,统计的是整个系统中每个标签被所有用户使用的总次数,完全没关联到单个用户,自然查不到同一用户重复添加同个标签的情况。核心问题就是分组维度错误,必须把用户ID和标签ID绑定在一起分组,才能定位到用户级别的重复。

内容的提问来源于stack exchange,提问作者Mr. J

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 02:05:06