sql - 如何消除 DB2400 或任何 SQL 中 JSON_ARRAYAGG 中的重复行?

SQL 示例...

SELECT
    ID AS HID,
    JSON_ARRAYAGG(    
       JSON_OBJECT('sequence': TRIM(SEQUENCE),                         
                   'payer_reference_qualifier': TRIM(PAYREFQUAL),      
                   'payer_reference_id': TRIM(PAYREFID),               
                   'transaction_processing_status': TRIM(TRNPRCST) 
                   )) AS H1
FROM XXXXX
WHERE ID = 7146 
GROUP BY MSGHSTID;

检索到的数据:我只想检索一行而不是两行。有什么想法吗?

[
    {"sequence":"1","payer_reference_qualifier":"04","payer_reference_id":"EPIDETPMT0000000001","transaction_processing_status":"E"},
    {"sequence":"1","payer_reference_qualifier":"04","payer_reference_id":"EPIDETPMT0000000001","transaction_processing_status":"E"}
]

最佳答案

一个选项在子查询中使用distinct:

SELECT 
    ID AS HID,
    JSON_ARRAYAGG(    
        JSON_OBJECT(
            'sequence': SEQUENCE,                         
            'payer_reference_qualifier': PAYREFQUAL,
            'payer_reference_id': PAYREFID,
            'transaction_processing_status': TRNPRCST
        )
    ) AS H1
FROM (
    SELECT DISINCT 
        MSGHSTID, 
        TRIM(SEQUENCE) SEQUENCE, 
        TRIM(PAYREFQUAL) PAYREFQUAL, 
        TRIM(PAYREFID) PAYREFID, 
        TRIM(TRNPRCST) TRNPRCST
    FROM XXXXX 
    WHERE ID = 7146 
) t
GROUP BY MSGHSTID;

https://stackoverflow.com/questions/61087447/

相关文章:

google-cloud-platform - GCP Bigquery 通过 Terraform

python - 使用 MCP3002 模数转换器控制 LED 亮度

Gitlab - 创建分支后运行脚本

javascript - 本地加载keras模型到tensorflow.js

javascript - 调整大小并使 PotlyJS 的 fiddle 图表响应

amazon-web-services - 错误 1045 (28000) : Access den

python - 使用 PyTorch 分布式 NCCL 连接失败

react-native - react native 文本输入键盘如何显示点而不是逗号?

javascript - react 导航和状态栏颜色在 View 更改时闪烁

node.js - 如何在 heroku 上部署 Node Media Server 应用程序