問題タブ [groupwise-maximum]

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 投票する
3 に答える
42 参照

mysql - 最新の順序で行ごとにグループ化する方法は?

更新しました:

これは、 M Khalid Junaid の回答に基づくデモと現在の結果です。クエリはまだ期待した結果を出力しません。

私は非常に単純なテーブルを持っています。ここに値があります。

これが私のクエリです。緯度経度、およびuser_idが同じ場合は、グループ化します。

現在の結果 id = 116

期待される結果 id = 118

緯度、経度、uer_idをグループ化したときに最新の結果を取得したい

いくつかの方法を試しましたが、望ましい結果が得られませんでした。

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

mysql - 最後のレコードで左結合 (トピック、最後の投稿、およびユーザーを含む単純なディスカッション ボード)

私は単純なディスカッション掲示板を作ろうとしています。その結果、トピックのタイトルとその作者、およびトピックの作者が最後の投稿をする必要があります。

これまでのところ、私はこれを持っています

ここでは、最新の 10 件のトピックのタイトル、作成者のユーザー名と ID、各トピックのメッセージ数、各トピックの最後の ID と投稿日、アクティビティ別に並べ替えられたすべての情報を取得しました。基本的にすべてです。必要なのは、それらの最後の投稿の作成者のユーザー名だけです。サブクエリで1つの左結合を作成する必要があると思いますが、ちょっと行き詰まっています。誰かが私を助けることができますか?

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

php - Laravelは、結合されたテーブルの最新の日付を取得します

このクエリは、Laravel のクエリ ビルダを使用して実行し、列でリンクしている 2 つのテーブルとの左結合を使用していますs_nid。私が参加しているテーブルにはconference_report、1つの行がたくさんありs_nid、最新の日付の行だけを取得したいです。私はここでいくつかの例を使用して Groupwise Maximum を見てきましたが、これは私にとって新しいものであり、クエリを完了するために必要なものだと思いますが、参加しているテーブルにそれを実装する方法がわかりません。

おそらく役立つリンク:

Laravel 4 で Groupwise Maximum を実行する

グループごとの最大

http://dev.mysql.com/doc/refman/5.6/en/example-maximum-column-group-row.html

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

mysql - Order by showing oldest result from join when grouped

Heres my query:

The assigns table also has an int field which contains unix timestamps called the_date.

The problem is, the dealer_name is coming up for the oldest row in the assigns table. I want the dealer_name of the newest row with the id_lead of l.id in the assigns table.

How do I do this? I can't figure it out. If I change the order by to a.the_date I get unwanted results in that I want these ordered by the lead date, not the assign date. I only want the dealer names ordered by the assign date, if that makes sense.

Heres a better idea of what I need but obviously this query doesn't work either:

FINAL EDIT: All I want to do is merge the following into 1 single SQL query:

Is this possible? I am literally too dumb to figure this out.

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

mysql - より大きなクエリでのグループごとの最大値

グループごとの最大値を使用するクエリに本当に苦労しています。どんな助けでも大歓迎です。グループごとの最大値を使用してはならない場合は、遠慮なく指摘してください。

私は 2 つのテーブルapplicationとを持っていemailます。1 つのアプリケーションで多数の電子メールを扱うことができます。私がクエリでやろうとしているのは、アプリケーションからすべての詳細を取得し、電子メール テーブルに参加することです (実際には、電子メールが返信されたかどうかを示す別のテーブルの電子メールから外部キーを取得するだけです)。 max(timestamp) に基づいて送信された電子メール。これが、グループごとの最大値を使用しようとしている理由です。

私はこれを試しましたが、各行の複製を作成しているようです:

これは最初は機能しているように見えましたが、現在問題を引き起こしています。かなりずさんなコードだと確信しています。

さらに多くのコードが必要な場合は、お問い合わせください。ありがとう。

私のデータベースのセットアップに必要な場合と、何が起こっているのかをさらに明確にします(重要でない部分は省略しています):

クエリは次のように表示されます。

上記の最初の解決策はすべての重複を示しており(おそらく私はほぼそこにいます)、2番目の解決策は結合されたテーブル列に対してnullを示していますが、少なくとも1つの段階または分離では機能したと確信しています!

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

mysql - mysql groupwise max as second where condition

非常に非効率的な作業クエリがあります。それを改善する簡単な方法が欠けているのではないかと思っています。

簡単なテーブル:

目的: master_id がゼロである、または master_id がゼロではなく、同じ master_id の他の行にそれ以前の日付がないすべての行を取得します。すべての結果を日付順に並べます。

グループ単位の最小サブクエリを使用して 2 番目の WHERE 条件を作成する現在のクエリ。

動作しますが、EXPLAIN を使用すると非効率的に見えます。

これを改善できますか?ID=0 用と groupwise min 用の 2 つのクエリに分割する必要がありますか? 前もって感謝します。

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

mysql - MySQL のピボット - 日時列に応じて最初と最後の値を表示する

何時間にもわたって自分で調べたり試したりした後、ついに Stackoverflow に登録しました。このような学びの機会をありがとうございました!私は今、解決できないMySQLの問題の助けを見つけたいと思っています. 私は立ち往生しています。

出典:顧客による注文の表があります。

出力:メール アドレスごとにグループ化された注文が必要です。メール アドレスごとに、総売上高の合計、注文数、作成された最初の注文と最後に作成された注文の行が必要です。ここまでは、グループ化と min() および max() 関数によって実行できました。私が立ち往生しているところ:最初と最後の注文のIPアドレス、最初と最後の注文の名など(さらに下の目的の出力を参照)が必要です。

私が試して調査したこと: Groupwise max、サブセレクト内の順序とグループ外のサブセレクト、いくつかの結合バリアント。

これは、ランダム データを使用した SQLfiddle と、私が作成した SQL クエリです。次のように機能します: http://sqlfiddle.com/#!9/0272b/6

SQLfiddle の SQL の代わりに、これを試してみました。これは、1 つの電子メール アドレスに対して機能します。

また、where ステートメントで subselect を使用して subselect または join を実行しようとしましたが、うまくいきませんでした。

私の実際の望ましい出力は次のようになります。

どんな助けでも大歓迎です!


自問自答する質問:

  • これはMySQLで解決できますか? Excel では、ピボット テーブルを簡単に作成できました。
  • そうでない場合は、ストアド プロシージャを使用して解決できますか? すべてのレコードをループし、注文が 1 つしかない場合はフィールドをスキップしますか?