首页 > 数据库 > mysql教程 > 如何使用聚合函数将多个 SQL 行合并为一行?

如何使用聚合函数将多个 SQL 行合并为一行?

Linda Hamilton
发布: 2024-12-23 12:53:10
原创
346 人浏览过

How Can I Merge Multiple SQL Rows into a Single Row Using Aggregate Functions?

在 SQL 中合并行

在使用数据库时,您可能会遇到需要将多行数据合并到一条记录中的情况。考虑下表包含两个字段“Field1”和“Field2”:

FK Field1 Field2
3 ABC NULL
3 NULL DEF

目标是检索以下组合数据:

FK Field1 Field2
3 ABC DEF

要合并这些行,请聚合可以利用函数。聚合函数(例如 MAX)会忽略 NULL 值。通过将 MAX 聚合函数应用于“Field1”和“Field2”,您可以获得每个组的最大非 NULL 值,从而有效地将数据合并到单行中。

以下查询演示了这种方法:

SELECT
    FK,
    MAX(Field1) AS Field1,
    MAX(Field2) AS Field2
FROM
    table1
GROUP BY
    FK;
登录后复制

此查询按“FK”列对行进行分组,并将 MAX 聚合函数应用于“Field1”和“Field2”。结果是一个表,其中每一行代表原始拆分行的组合数据。

作为示例,请考虑以下测试数据:

CREATE TABLE table1 (FK int, Field1 varchar(10), Field2 varchar(10));

INSERT INTO table1 VALUES (3, 'ABC', NULL);
INSERT INTO table1 VALUES (3, NULL, 'DEF');
INSERT INTO table1 VALUES (4, 'GHI', NULL);
INSERT INTO table1 VALUES (4, 'JKL', 'MNO');
INSERT INTO table1 VALUES (4, NULL, 'PQR');
登录后复制

对此数据运行合并查询产生以下结果:

FK Field1 Field2
3 ABC DEF
4 JKL PQR

通过利用聚合函数,您可以有效地将多行数据合并到单个组合记录中。

以上是如何使用聚合函数将多个 SQL 行合并为一行?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板