問題タブ [group-concat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
47 に答える
2831189 参照

sql - SQLServerで複数の行のテキストを単一のテキスト文字列に連結する方法

次の3行の名前を保持するデータベーステーブルについて考えてみます。

これを単一の文字列に変換する簡単な方法はありPeter, Paul, Maryますか?

0 投票する
15 に答える
792539 参照

mysql - 複数の MySQL 行を 1 つのフィールドに連結できますか?

を使用するMySQLと、次のようなことができます。

私の出力:

しかし、代わりに1行、1列が必要です:

期待される出力:

その理由は、複数のテーブルから複数の値を選択していて、すべての結合の後、必要以上に多くの行を取得したためです。

MySQL Docで関数を探しましたが、CONCATまたはCONCAT_WS関数が結果セットを受け入れるようには見えません。

それで、ここで誰かがこれを行う方法を知っていますか?

0 投票する
5 に答える
77198 参照

mysql - MySQL のサブクエリで GROUP_CONCAT を使用する

別のテーブルからの ID のリストを含めたい MySQL クエリがあります。Web サイトでは、ユーザーは特定のアイテムを追加でき、それらのアイテムをお気に入りに追加できます。私は基本的に、そのアイテムをお気に入りに登録した人の ID のリストを取得したいと考えています (これは少し単純化されていますが、要約すると次のようになります)。

基本的に、私は次のようなことをします:

このようにして、コード内で idlist を後で PHP の配列に分割することで、誰がアイテムをお気に入りにしたかを示すことができますが、次の MySQL エラーが発生します。

1242 - サブクエリが複数の行を返す

GROUP_CONCATそれが、たとえばCONCAT?の代わりに使用するポイントのようなものだと思いました。私はこれについて間違った方法で進んでいますか?


わかりました、これまでの回答に感謝します。うまくいくようです。ただし、落とし穴があります。そのユーザーによって追加されたアイテムもお気に入りと見なされます。そのため、作成者 = ユーザー ID かどうかを確認するために、追加のチェックが必要になります。誰かがこれを行うためのスマートな(そしてできれば効率的な)方法を考え出すのを手伝ってもらえますか?

ありがとうございました!

編集:私はこれをやろうとしました:

そしてidlistは空です。INNER JOIN代わりに使用するLEFT JOINと、空の結果が得られることに注意してください。ON要件を満たす行があると確信していますが。

0 投票する
10 に答える
31880 参照

mysql - MySQL GROUP_CONCAT エスケープ

(注: この質問はクエリのエスケープに関するものではなく、結果のエスケープに関するものです)

GROUP_CONCATを使用して、複数の行をコンマ区切りのリストに結合しています。たとえば、2 つの (例の) テーブルがあるとします。

そして、投稿にコメントした各ユーザー名のリストとともに、すべての投稿を一覧表示したいと思います。

私に与えます:

これはうまく機能しますが、ユーザー名にコンマが含まれているとユーザーのリストが台無しになります。MySQL には、これらの文字をエスケープできる機能がありますか? (これはスキーマの例にすぎないため、ユーザー名には任意の文字を含めることができると想定してください)

0 投票する
3 に答える
13712 参照

mysql - MySQL の GROUP_CONCAT とロングテキストに関する問題

SQL...

ご覧のとおり、記事のすべてのページ (それぞれが長いテキストとして別々の行に格納されています) を取得し、GROUP_CONCAT でそれらを 1 つの長いテキスト行にしています。問題は、結果が非​​常に多くの文字しか表示されず、内容の約 90% が失われて完全に切り捨てられることです。CONCAT は長いテキストをうまく処理できませんか、それとも他に間違っていることがありますか?

0 投票する
1 に答える
477 参照

mysql - MEDIUMTEXT とページを使用した mySQL でのデータ損失

どういうわけか、GROUP_CONCAT は記事の 6 つの「ページ」(それぞれが TEXT として保存されている) を切り上げて、データを失うことなくそれらを 1 つの MEDIUMTEXT に放り込むことができますが、通常よりも長い 1 ページの記事がいくつかあります (ただし、それでも明らかに収まる) TEXT データ型内) を使用すると、大量のデータが失われます。何が起きているか知っている人はいますか?

元のクエリ:

無知な私を導いてくれてありがとう!

0 投票する
5 に答える
1650 参照

sql - MS SQL Server 2005 を使用して、詳細レコードを 1 つのコンマ区切りリストに統合する方法

背景: **私は **MS2005 を実行しています。次のようなデータを含む MASTER テーブル (ID、MDESC) と DETAIL テーブル (MID、DID、DDESC) があります。

テーブルを結合すると

次のようなリストを取得します。

質問: MS SQL の select ステートメントを使用して、詳細レコードを次のようにカンマ区切りのリストに取得する方法はありますか?

0 投票する
6 に答える
34633 参照

linq - LINQ を使用して複数の行を 1 つの行に連結する (CSV プロパティ)

Sybase の LIST() または MySQL の group_concat() に相当する LINQ を探しています

変換されます:

に:

0 投票する
7 に答える
11304 参照

sql - 1対多の関係を2列として表示-1つの一意の行(IDとコンマ区切りのリスト)

これらの2つのSOの質問に似たものが必要ですが、InformixSQL構文を使用しています。

入ってくる私のデータは次のようになります:

私はそれがこのように戻ってくるのを見たいです:

Informixのgroup_concat()も参照してください。

0 投票する
2 に答える
8786 参照

sql - SQL GROUP_CONCAT + SUM + AVG

何らかの理由で、合計と平均が実行されません....このステートメントをどのように機能させますか?