ホームページ  >  記事  >  データベース  >  MySQL での concat と group_concat の使用の簡単な分析

MySQL での concat と group_concat の使用の簡単な分析

jacklove
jackloveオリジナル
2018-06-14 17:07:082417ブラウズ

この記事で使用されている例はすべて、次のデータベース テーブル tt2 で実行されます:


1. concat() 関数

1. 機能: 複数の文字列を 1 つの文字列に連結します。 。

2. 構文: concat(str1, str2,...)

戻り値は、接続パラメーターによって生成された文字列です。いずれかのパラメーターが null の場合、戻り値は null です。

3. 例:

例 1: tt2 からの情報として concat (id、name、score) を選択します。


行のスコア値が NULL であるため、中央に行があります。 tt2 テーブルが null です。

例 2: 例 1 の結果では、ID、名前、スコアの 3 つのフィールドの組み合わせに区切り文字がありません。区切り文字としてカンマを追加できます。目に見えて~~

でもSQL文を入力するのは大変です、3つのフィールドにカンマを2回入力する必要があります... とても面倒です。方法? ——そして、パラメータ間の区切り文字を指定できる concat_ws() の登場です! ! !

2. concat_ws() 関数


1. 機能: concat() と同様に、複数の文字列を 1 つの文字列に連結しますが、セパレーターを一度に指定できます ~ (concat_ws は concat with separator です)

2. 構文: concat_ws(separator, str1, str2, ...)説明: 最初のパラメータはセパレータを指定します。区切り文字を null にすることはできません。null の場合、返される結果は null になることに注意してください。

3. 例:

例 3: concat_ws() を使用して区切り文字をカンマとして指定し、例 2 と同じ効果を実現します:

例 4: 区切り文字を null として指定し、すべての結果が変更されました:



3. group_concat() 関数


序文: group by を使用したクエリステートメントでは、select で指定されたフィールドが group by ステートメントの後に含まれます。 group 基底は集計関数に含まれています。 (Group By について詳しくは、「SQL での Group By の使用に関する簡単な分析」をクリックしてください)。

例 5:

この例では、同じ名前を持つ人々の中で最小の ID をクエリします。同じ名前を持つすべての人の ID をクエリしたい場合はどうすればよいでしょうか?

もちろん、次のようにクエリすることもできます:
例 6:

しかし、同じ名前が複数回出現する場合、それは非常に直感的ではないように思えます。各名前を 1 回だけ表示し、同じ名前を持つすべての人の ID も表示する、より直感的な方法はありますか? ——group_concat()を使用します

1. 機能: group by で生成された同じグループ内の値を結合し、文字列の結果を返します。
2. 構文: group_concat( [distinct] 接続するフィールド [並べ替えフィールド asc/desc ] [separator 'separator'] )

注: 必要に応じて、重複する値を除外できます。値を並べ替えるには、order by 句を使用できます。区切り文字は文字列値であり、デフォルトはカンマです。

3. 例:

例 7: group_concat() と group by を使用して、同じ名前を持つ人の ID 番号を表示します:

例 8: 上記の ID 番号を大きい順に並べ替え、区切り文字として「_」を使用します:


例 9: 上記のクエリは、名前ごとにグループ化された各グループのすべての ID を表示します。次に、名前でグループ化されたすべてのグループの ID とスコアをクエリする必要があります。


この記事では、MySQL での concat と group_concat の使用について簡単に分析します。さらに関連する内容については、php 中国語 Web サイトに注目してください。

関連する推奨事項:

MySQL グラフィカル管理ツールの概要

MySQL ストアド プロシージャの基本機能の関連説明

SQL での EXISTS の使用法

以上がMySQL での concat と group_concat の使用の簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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