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

如何实现特定行转列的数据格式转换?仅用Query还是需用Reporting?

行转列表格转换:仅用Query即可实现

原始数据

SoftwareCountInstall Status
QWE1INSTALLED
ASD54INSTALLED
ASD3PENDINGINSTALL
ASD3FAILED

期望转换结果

SoftwareINSTALLEDPENDINGINSTALLFAILEDTOTAL
QWE11
ASD543360

这种行转列的透视需求完全不需要依赖Reporting工具,仅通过Query就能实现。主流数据库都支持这类转换,以下是两种常见实现方式:

方式1:使用CASE WHEN(通用兼容所有SQL数据库)

SELECT
    Software,
    SUM(CASE WHEN InstallStatus = 'INSTALLED' THEN Count ELSE 0 END) AS INSTALLED,
    SUM(CASE WHEN InstallStatus = 'PENDINGINSTALL' THEN Count ELSE 0 END) AS PENDINGINSTALL,
    SUM(CASE WHEN InstallStatus = 'FAILED' THEN Count ELSE 0 END) AS FAILED,
    SUM(Count) AS TOTAL
FROM
    your_table_name
GROUP BY
    Software;

方式2:使用PIVOT(适用于支持该语法的数据库,如SQL Server、Oracle)

SELECT
    Software,
    ISNULL(INSTALLED, 0) AS INSTALLED,
    ISNULL(PENDINGINSTALL, 0) AS PENDINGINSTALL,
    ISNULL(FAILED, 0) AS FAILED,
    (ISNULL(INSTALLED, 0) + ISNULL(PENDINGINSTALL, 0) + ISNULL(FAILED, 0)) AS TOTAL
FROM
    your_table_name
PIVOT
(
    SUM(Count)
    FOR InstallStatus IN (INSTALLED, PENDINGINSTALL, FAILED)
) AS PivotTable;

直接执行上述Query就能生成你需要的列结构结果,无需额外通过Reporting工具做二次转换。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 04:22:49