コンマで区切られたリストの値を生成する集約関数です。
Synopsis
LIST ([ DISTINCT ] string-expr [%FOREACH(col-list)] [%AFTERHAVING])
引数
string-expr 有効な文字列として評価する SQL 式。
%FOREACH(col-list) オプション — 列名、またはコンマで区切られた列名のリスト。%FOREACH の詳細は、"SELECT" を参照してください。
%AFTERHAVING オプションHAVING 節にある条件を適用します。
概要
コンマで区切られたリストの値を返す LIST 集約関数です。
LIST は、各行グループの string-expr に対する、すべての値で構成されるコンマで区切られたリストを含む文字列を返します。string-expr が NULL 値である行は、リストに追加されません。
以下の例は、Sample.Person テーブルの Home_State 列内にあるすべての値のコンマで区切られたリストを作成します。
SELECT DISTINCT LIST(Home_State) AS All_State_Values
FROM Sample.Person
ORDER BY Home_State
このリストには重複値が含まれます。
LIST DISTINCT は、各行グループの string-expr に対する、すべての異なる値で構成されるコンマで区切られたリストを含む文字列を返します。string-expr が NULL 値である行は、リストに追加されません。
以下の例は、Sample.Person テーブルの Home_State 列内にあるすべての個別 (一意) の値のコンマで区切られたリストを作成します。
SELECT DISTINCT 
LIST(DISTINCT Home_State) AS All_Unique_State_Values
FROM Sample.Person
ORDER BY Home_State
以下の例は、Sample.Person テーブルの FavoriteColors 列内にあるすべての個別値のコンマで区切られたリストを作成します。したがって、各行は All_Colors 列と同じ値を持ちます。ある行が FavoriteColors に NULL 値を持つと、この値はリストに含まれなくなります。データ値は、内部形式で返されます。
SELECT Name,FavoriteColors,
LIST(DISTINCT FavoriteColors) AS All_Colors_In_Table
FROM Sample.Person
ORDER BY FavoriteColors
以下の例は、各州の Home_City 列内にあるすべての個別値のコンマで区切られたリストを作成します。同じ州のすべての行には、その州の個別の市の値すべてのリストが含まれます。
SELECT Home_State, Home_City,
LIST(DISTINCT Home_City %FOREACH(Home_State)) AS All_Cities_In_State
FROM Sample.Person
ORDER BY Home_State
例えば、以下の AutoClub のようなテーブルがあるとします。
名前 メーカー モデル
Smith,Joe Pontiac Firebird 1971
Smith,Joe Saturn SW2 1997
Smith,Joe Pontiac Bonneville 1999
Jones,Scott Ford Mustang 1966
Jones,Scott Mazda Miata 2000
クエリは以下のとおりです。
SELECT DISTINCT Name, LIST(Make) AS List_Of_Makes
FROM AutoClub WHERE Name = 'Smith,Joe'
これは、以下を返します。
名前 メーカー
Smith,Joe Pontiac,Saturn,Pontiac
クエリは以下のとおりです。
SELECT DISTINCT Name, LIST(DISTINCT Make) AS List_Of_Makes
FROM AutoClub WHERE Name = 'Smith,Joe'
これは、以下を返します。
名前 メーカー
Smith,Joe Pontiac,Saturn
関連項目
集約関数 SELECT