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

如何在SQL中用LIKE语句对同前缀用户ID分组求和列?

实现同前缀用户ID的分组求和

要把带-1、-2这类后缀的用户ID按前缀合并分组求和,这里给两种可行方案,其中也包含你提到的LIKE语句实现方式:

方案1:直接截取前缀(推荐)

利用字符串截取函数提取用户ID的前缀(以-为分隔符取第一部分),再按这个前缀分组求和,逻辑简单且高效:

SELECT 
    SUBSTRING_INDEX(user_id, '-', 1) AS user_prefix,
    SUM(your_target_column) AS total_sum
FROM 
    your_table
GROUP BY 
    user_prefix;

这个方法会自动把ihusain、ihusain-1、ihusain-2统一识别为ihusain前缀,直接完成分组聚合。

方案2:结合LIKE语句实现

如果一定要用LIKE来匹配同前缀的用户ID,可以先提取所有唯一前缀,再通过LIKE关联原表完成求和:

SELECT 
    prefixes.user_prefix,
    SUM(t.your_target_column) AS total_sum
FROM 
    (SELECT DISTINCT SUBSTRING_INDEX(user_id, '-', 1) AS user_prefix FROM your_table) AS prefixes
JOIN 
    your_table t ON t.user_id LIKE CONCAT(prefixes.user_prefix, '%')
    AND (t.user_id = prefixes.user_prefix OR t.user_id REGEXP CONCAT('^', prefixes.user_prefix, '-[0-9]+$'))
GROUP BY 
    prefixes.user_prefix;

这里通过LIKE匹配前缀开头的用户ID,再用正则约束后缀为-数字格式,避免误匹配类似ihusainabc这类无关ID。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 07:35:08