ホームページ >データベース >mysql チュートリアル >SQL で行を効率的にマージしてデータを結合するにはどうすればよいですか?

SQL で行を効率的にマージしてデータを結合するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-31 13:50:10914ブラウズ

How Can I Efficiently Merge Rows in SQL to Combine Data?

SQL での行の効率的な結合

SQL では、多くの場合、複数の行の情報を 1 つの統合された行に結合することが必要になります。次の表について考えてみましょう:

FK | Field1 | Field2
=====================
3  | ABC    | *NULL*
3  | *NULL* | DEF

マージされた行を取得するには、MAX や MIN などの集計関数を利用できます。これらの関数は NULL 値を無視するため、異なる行の null 以外の値を結合できます。

次のクエリは、MAX 集計関数を使用して 2 つの行を結合する方法を示しています。

SELECT
    FK,
    MAX(Field1) AS Field1,
    MAX(Field2) AS Field2
FROM
    table1
GROUP BY
    FK;

SQL Server Express 2008 R2 では、このクエリは次の結果を生成します。

FK  Field1  Field2
--  ------  ------
3   ABC     DEF

このクエリは、2 つのクエリを効果的にマージします。 FK 列を保持し、Field1 と Field2 の非 null 値を結合して、行を 1 つの統合行にまとめます。

以上がSQL で行を効率的にマージしてデータを結合するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。