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

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

DDD
リリース: 2024-12-31 13:50:10
オリジナル
875 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート