問題タブ [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 - グループ連結クエリの問題
これには答えられないかもしれませんが、クエリが 0 の結果を返す理由を理解しようとしています。
0 の結果を返します。
しかし、
戻り値:
mysql - 追加のグループ化を伴う GROUP_CONCAT ?
スクリプトを使用して、特定の記事が呼び出される頻度と時期の統計を生成するスクリプトを開始しました
生産する
いい物。しかし、date_created でグループ化された ID の内訳を追加して、次のようなものを作成する日付に似たフィールドを追加するにはどうすればよいですか。
これらの行に沿って GROUP BY を追加したいと思います。
しかし、それは機能していません。これを修正するにはどうすればよいですか?
ごみ:
php - Group_Concat を使用して注文するのは難しい
私はphp/mysqlに少し慣れていないので、何かが足りないと確信しています。このアプローチもおそらく最善ではありません。
次のテーブルがあります
テーブル: unit_members フィールド: id、unit_id、person_id、primary
テーブル: 人フィールド: id、name、rank_id
テーブル: ランク フィールド: ID、名前、ランク
テーブル: units フィールド: id、name、rank
各ユニットと各ユニットの人物を表示し、整数フィールドであるランクで並べ替えようとしています。単純なようですが、rank.rankで並べ替える人を取得できません。
これが私のクエリです:
Order by here は Group_Concat に影響を与えないように見えるので、配列に入る前に Group_Concat を何らかの方法で Order する必要があると思います。配列は個人ID順に並べられているようです。
どんな助けでも大歓迎です。前もって感謝します。
mysql - X または Y でグループ化しますか?
GROUP BY
複数の列の方法を理解しようとしています。SSNまたは住所が一致した場合にアイテムをグループ化したい。たとえば、次の 3 つのレコードがあります。
そして、これが私が最終的にやりたいことです:
助言がありますか?
mysql - 条件が真である行をマージするMySQl
これを解決するために数日を費やしましたが、成功は限られていました。簡単な答えがあると確信していますが、かなり多くの調査にもかかわらず、これまでのところ運がありません。問題は私の SQL の知識が限られていることです。
私は3つのテーブルを持っています。注文、orders_products、およびorders_products_attributes。
特定の注文の結果テーブルを返し、一致するすべての orders_products を表示し、その製品が存在する場合は orders_products_attributes 行にマージしようとしています (属性がない場合もあります)。
私はここにいる:
次の結果が返されます。
ItemNumber が同じ行をマージしようとしています。最終的に存在する OptionCodes と OptionNames を連結します。
これらを GROUP_CONCAT しようとしましたが、3行すべてをマージすることにしか成功しません。
遅くて申し訳ありませんが、ここから先に進むことができないようです。
アンドリュー・ティア
mysql - タグと GROUP_CONCAT を使用した商品の表示
アプリの全文検索に Sphinx を使用しています。を使用しview
てテーブルからデータをフィルター処理し、products
Sphinx がこのビューにインデックスを付けます。現在、製品テーブルの下に関連するタグを含むハードコードされたフィールドがありますが、タグが変更される可能性があり、ハードコードされたフィールドを毎回操作する必要があるため、あまり良くありません。
したがって、GROUP_CONCAT を使用してビューを作成し、関連するすべてのタグを次のような構文でリストできると考えていました。
このクエリの問題は、実行に時間がかかることです。本当に遅いです。1 つのレコードのみを取得するには、最大 5 秒かかります。これはEXPLAIN
出力です:
クエリを改善する方法や、私の問題に対するより良い解決策があるのではないかと思います。ありがとう!
mysql - MySQL: GROUP_CONCAT 関数によって返された最初のアイテムを選択する
1group_concat
つの列からすべての文字列を返す があります。文字列は可変長にすることができます。によって返された最初の文字列を選択するにはどうすればよいですか(「最初」は順序句group_concat
によって定義されます)。group_concat
簡単な例を次に示します。野菜の表から、各野菜の種類から最も安い野菜を選択します。
この表から:
これを選択します:
私の不器用な試み:
したがって、根菜タイプの場合、「GROUP_CONCAT」は「カブ、ニンジン」を返します。次に、locate は最初のカンマを見つけます。そして substring は、このカンマまでのすべての文字を返します。したがって、「selectedVeg」は「カブ」と同じです。
を追加して、検索するコンマCONCAT
が常に 1 つあるようにしました。LOCATE
を2回実行する必要があるため、これはあまり効率的ではないようですGROUP_CONCAT
(実際の問題では非常に複雑です)。
ありがとう。
mysql - MySQL: JOIN と GROUP_CONCAT を使用した UPDATE
これは可能ですか?
Customers と Orders の 2 つのテーブルがあります。ここで、Customers の列に、その顧客のすべての注文 ID (カンマ区切り) を入力したいと考えています。
私はこのようなことを試しましたが、うまくいきません:
「グループ機能の無効な使用」と表示されます。
PS。SELECT/JOIN で GROUP_CONCAT 値を常に動的に取得する方がよいことはわかっていますが、この列を何らかの方法で埋めることができるかどうか疑問に思っています。
php - group_concat 行を制限する (簡単な) 方法を発見した人はいますか?
各国からのレポートに関する情報を引き出すためのかなり大きなクエリがありますが、現在、これを制限できる唯一の方法はLimit 10
、国を制限する末尾に or を入力することです。ただし、私がやりたいことは、group_concat
国ごとに を 10 件の結果に制限することです。これは、私の場合、単語の各インスタンスに何らかの形で 10 件を制限することになりますgroup_concat
。
私の現在のクエリは次のとおりです。
この質問が尋ねられたのを見たことがありますが、本当に良い答えは見たことがありません。文字に基づいてのみ制限できるため、関数がMySQLに組み込まれていないことは知っています。以前にこの問題を解決した人はいますか?
mysql - MySQL-計算にGROUP_CONCAT値を使用しますか?
いくつかの割引が初期値から削除された後、製品の値を取得するクエリを作成しようとしています。
これは私がこれまでに持っているものの単純化されたバージョンです:
ここで、discounts.amountは10進値です。
編集:たとえば、値がそれぞれ10と15の2つの対応する割引があり、初期製品価格が50の場合、計算は25を返します。
とにかく、必要な計算を実行できるクエリ内にありますか?
アドバイスをいただければ幸いです。
ありがとう。