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

如何编写SQL实现单元格及下方Installs值的拼接展示?

用SQL实现累计字符串拼接需求

现有表结构如下:

| Days Since Install | Installs |
| ------------------ | -------- |
|         1          | A        |
|         2          | B        |
|         3          | C        |
|         4          | D        |

需要生成目标表,其中每行的Installs字段为当前行及下方所有行的Installs值以+拼接,结果如下:

| Days Since Install | Installs |
| ------------------ | -------- |
|         1          | A+B+C+D  |
|         2          | B+C+D    |
|         3          | C+D      |
|         4          | D        |

可以编写SQL语句实现该需求,不同数据库的实现方式如下:

MySQL(8.0及以上版本)

利用窗口函数结合GROUP_CONCAT实现:

SELECT 
    `Days Since Install`,
    GROUP_CONCAT(`Installs` SEPARATOR '+') OVER (
        ORDER BY `Days Since Install` 
        ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
    ) AS `Installs`
FROM your_table_name
ORDER BY `Days Since Install`;

PostgreSQL

使用string_agg函数搭配窗口范围:

SELECT 
    "Days Since Install",
    string_agg("Installs", '+' ORDER BY "Days Since Install") OVER (
        ORDER BY "Days Since Install" 
        ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
    ) AS "Installs"
FROM your_table_name
ORDER BY "Days Since Install";

SQL Server(2017及以上版本)

通过STRING_AGG函数实现:

SELECT 
    [Days Since Install],
    STRING_AGG([Installs], '+') WITHIN GROUP (ORDER BY [Days Since Install]) OVER (
        ORDER BY [Days Since Install] 
        ROWS BETWEEN CURRENT ROW AND UNBOUNDED FOLLOWING
    ) AS [Installs]
FROM your_table_name
ORDER BY [Days Since Install];

低版本数据库兼容方案(以MySQL 5.x为例)

如果数据库不支持窗口函数,可以用自关联的方式实现:

SELECT 
    t1.`Days Since Install`,
    GROUP_CONCAT(t2.`Installs` SEPARATOR '+') AS `Installs`
FROM your_table_name t1
JOIN your_table_name t2 
    ON t2.`Days Since Install` >= t1.`Days Since Install`
GROUP BY t1.`Days Since Install`
ORDER BY t1.`Days Since Install`;

注意:请将上述语句中的your_table_name替换为实际的表名称。

内容的提问来源于stack exchange,提问作者Dogan Can Akca

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 14:00:20