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

如何动态分组拼接未知数量的字符串值?

分组拼接字符串解决方案

1. SQL 实现

根据使用的数据库类型,选择对应的聚合函数完成分组拼接:

MySQL

SELECT 
    Num,
    Qty,
    GROUP_CONCAT(Value SEPARATOR '  ') AS Values
FROM your_table
GROUP BY Num, Qty;

PostgreSQL

SELECT 
    Num,
    Qty,
    STRING_AGG(Value::TEXT, '  ') AS Values
FROM your_table
GROUP BY Num, Qty;

SQL Server

SELECT 
    Num,
    Qty,
    STUFF(
        (SELECT '  ' + CAST(Value AS VARCHAR(5)) 
         FROM your_table t2 
         WHERE t2.Num = t1.Num AND t2.Qty = t1.Qty
         FOR XML PATH(''), TYPE).value('.', 'VARCHAR(MAX)'),
        1, 2, ''
    ) AS Values
FROM your_table t1
GROUP BY Num, Qty;

2. Python Pandas 实现

如果用Python处理数据集,可借助Pandas的分组聚合功能:

import pandas as pd

# 构造数据集(实际场景可替换为读取文件/数据库)
df = pd.DataFrame({
    'Num': [1,1,2,2,2,2,2,2,2,2,3,3,3],
    'Qty': [2,2,8,8,8,8,8,8,8,8,3,3,3],
    'Value': ['456','457','837','838','839','840','841','842','843','844','901','902','903']
})

# 按Num和Qty分组,拼接Value字段
result_df = df.groupby(['Num', 'Qty'])['Value'].agg('  '.join).reset_index()
result_df.columns = ['Num', 'Qty', 'Values']

# 打印输出(或导出为所需格式)
print(result_df.to_string(index=False))

运行后输出结果与期望格式一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 02:56:19