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

如何将同一CVE_ID的多行SQL查询结果合并为单行

解决方案

你可以利用聚合函数实现需求,因为't'的优先级高于'f'(无论作为布尔值还是字符串),用MAX()函数就能保留每个字段中存在的't'值,具体SQL如下:

SELECT 
    "CVE_ID",
    MAX("V19_200") AS "V19_200",
    MAX("V20") AS "V20",
    MAX("V20_100") AS "V20_100",
    MAX("V21") AS "V21",
    MAX("V21_100") AS "V21_100",
    MAX("V21_200") AS "V21_200"
FROM cve_table
WHERE "CVE_ID" = 'CVE-2022-22965'
GROUP BY "CVE_ID";

原理说明

  • 你的数据中每个字段在多行里仅存在一个't',其余均为'f',MAX()函数会自动选取每个字段的最大值(即't'),最终将多行合并为一行结果。
  • UNION或UNION ALL用于合并不同查询的结果集,并不适用于当前的行合并需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 02:30:00