問題タブ [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.
mysql - mysql GROUP_CONCAT
すべてのユーザーを対応するユーザー クラスで一覧表示したいと考えています。これが私のテーブルの簡略化されたバージョンです
そして、これは私が使用しようとしているクエリステートメントですが、最初に一致したユーザークラスのみを返し、期待どおりの連結リストは返しません。
実際の出力
必要な出力
前もって感謝します
sql - 結果を誤って組み合わせた複数の結合を使用したSQLグループ化
こんにちは私は、レコードを結合するべきではないときにクエリを結合するのに問題があります。
著者と出版物の2つのテーブルがあり、それらは多対多の関係で出版物IDによって関連付けられています。各著者は多くの出版物を持つことができ、各出版物には多くの著者がいます。クエリで一連の著者のすべての出版物を返し、1つのフィールドにグループ化された出版物に貢献した他の各著者のIDを含めたいと思います。(私はmySQLを使用しています)
私はそれを下にグラフィカルに描いてみました
結果セットを次のようにしたい
これは私の質問です
ただし、代わりに次を返します
whereステートメントにAuhorIDが1つしかない場合は、目的の出力を提供します。私はそれを理解することができませんでした、誰かが私がどこで間違っているのか知っていますか?
sql - Postgresql GROUP_CONCAT と同等ですか?
テーブルがあり、フィールド値が連結された ID ごとに 1 つの行を取得したいと考えています。
たとえば、私のテーブルには次のようなものがあります。
そして、私は出力したいと思います:
MySQL では集計関数を使用できましたGROUP_CONCAT
が、ここでは機能しないようです... PostgreSQL に相当するもの、またはこれを達成する別の方法はありますか?
mysql - MySQLおよびGROUP_CONCAT()の最大長
GROUP_CONCAT()
MySQLクエリで、複数の行を1つの文字列に変換するために使用しています。ただし、この関数の結果の最大長は1024
文字です。
group_concat_max_len
この制限を増やすためにパラメータを変更できることを私はよく知っています:
ただし、使用しているサーバーでは、パラメーターを変更できません。上記のクエリを使用したり、構成ファイルを編集したりすることはできません。
だから私の質問は:複数行のクエリの出力を単一の文字列に取得する他の方法はありますか?
mysql - 行内の別々の列に複数の項目がある単一の行を返すクエリ
複数の行で結果を返す状況があります。複数のアイテムが行内の別々の列にある単一の行を返す方法を探しています。私の最初のクエリ:
私の出力:
私のテーブルスキーマ...
私は本当に次のようなものを取得しようとしています:
sql - MySQL GROUP_CONCAT + IN() = 欠落データ :-(
例:
表:箱
表: boxHas
各ボックスの内容に対してクエリを実行し、各 ID、色、および各ボックスの内容を連結する列を含むテーブルを返したいので、次を使用します。
SELECT box.boxID, box.color,
GROUP_CONCAT(DISTINCT boxHas.has SEPARATOR ", ") AS contents
FROM box
LEFT JOIN boxHas ON box.boxID=boxHas.boxID
WHERE boxHas.has IN ('apple','pear')
GROUP BY box.boxID
ORDER BY box.boxID
そして、次の結果の表を取得します。
あなたへの私の質問は、列のすべてのhas
値をリストしていないのはなぜですか? contents
私のWHERE
ステートメントも私のものをトリミングしているのはなぜGROUP_CONCAT
ですか?
私が取得しようと思っていたテーブルは次のとおりです。
ステートメントにboxID
基づいて結果を制限したいのですが、有効なボックスのフィールドを制限したくありません。:-/WHERE
contents
ヘルプ?
php - 結果をIDでグループ化するMySQL SELECTステートメント?
テーブルから一連の行を選択し、結果を行の ID でグループ化する MySQL SELECT ステートメントを作成しようとしています (複数の行が同じ ID を持つことになります)。
これが私がやろうとしていることの例です。次のテーブルがあるとします。
次のように、MySQL に id でグループ化されたデータを返してもらいたいと思います。
単純な SQL 選択を実行してから、PHP で結果をループできることはわかっていますが、可能であれば MySQL にグループ化を処理させたいと考えています。
sql - 行をマージする SQL 選択クエリ
単一の MySQL データベースがあります。
返す SQL クエリが必要
これどうやってするの?
sql - 1 つの行を別のテーブルの複数の行に結合する
私は、エンティティ (それらを人と呼びましょう) とプロパティ (1 人が任意の数のプロパティを持つことができます) のテーブルを持っています。元:
人々
プロパティ
年齢に基づいて人を選択し、すべてまたは一部のプロパティを返す効率的な選択を書きたいと思います。
プロパティの 1 つとプロパティの合計数を返すこともできます。
クエリは効率的である必要があります。ピープル テーブルには数百万行、プロパティ テーブルには数十万行があります (したがって、ほとんどの人にはプロパティがありません)。一度に何百もの行が選択されます。
それを行う方法はありますか?
sql - 複数の結果を単一のフィールドに結合したサブクエリ?
これらのテーブルがあり、そこからブラウザに検索結果を表示する必要があるとします。
次のような出力が必要です。
重要な部分は、各項目タイプが画面の戻り値で 1 つのレコード/行のみを取得することです。過去に、同じアイテムの複数の行を返し、スクリプト言語を使用して出力を制限することで、これを達成しました。ただし、これにより、UI が過度に複雑になり、ルーピーになります。ですから、表示する行と同じ数のレコードだけをデータベースに吐き出させることができると思っています。
この例は、項目から (sale テーブルを介して) コンテナーに到達するために 2 つの結合が必要なため、少し極端かもしれません。
これを出力するクエリの例だけでもうれしいです:
サブクエリで返すことができる結果は 1 つだけなので、これを行う方法がわかりません。