テーブル:reward(報酬テーブル)があるとします。テーブル構造は次のようになります。 テーブルtest.rewardを作成します( id int(11) NOT NULL AUTO_INCREMENT、 uid int(11) NOT NULL COMMENT 'ユーザーuid', お金 小数点(10, 2) NOT NULL COMMENT '報酬額', datatime datetime NOT NULL COMMENT 'time', 主キー (id) ) エンジン = INNODB AUTO_INCREMENT = 1 文字セット utf8 utf8_general_ci を照合する COMMENT = '報酬テーブル'; 表のデータは次のとおりです。 ここで、各人が受け取った最高の報酬を照会し、それを最大から最小の順に並べ替える必要があります。 直接問い合わせる場合: 以下の結果が得られます。 必要な結果が得られませんでした。これは、group by と order by を一緒に使用すると、最初に group by が使用され、グループ化後の最初のデータが取り出されるためです。したがって、その後の order by による並べ替えは、取り出された最初のデータに基づいて行われますが、最初のデータは必ずしもグループ内で最大のデータであるとは限りません。 方法1: この場合、最初に並べ替え、次にグループ化し、サブクエリを使用できます。 選択 取り除く、 r.uid、 r.お金、 r.データタイム から(選択 id、 uid、 お金、 データタイム 報酬から 金額順(降順)r GROUP BY r.uid ORDER BY r.money DESC; 方法2: レコード全体を取得する必要がない場合は、max() min() を使用できます。 結果は次のとおりです。 max() を使用して取得したレコードの money フィールドと max(money) フィールドに矛盾があることに気付いたかもしれません。これは、ここでは uid の最大値のみが取得され、最大値に対応するレコード全体が取得されないためです。 レコード全体を取得する必要がある場合は、このメソッドは使用できず、サブクエリを使用できます。 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
WindowsにMySQLの圧縮バージョンをインストールする方法の詳細については、以下を参照してくだ...
オンラインプレビューhttps://jsrun.pro/AafKp/まず効果を見てみましょう:最初の...
目次1. はじめに2. 実際の事例1. App.vueを変更する2. レイアウトを調整する3. ジャ...
DREAMWEAVER を開き、新しい HTML を作成します。 。ボディの特性: bgcolor...
<Head>タグに追加する<meta http-equiv="pragm...
CentOS7 64でのMySQL5.6.40のインストール手順1) 以前にインストールしたMySQ...
VUE は vue-seamless-scroll を使用して、自動的にスクロールしていいねします。...
序文MySQL は、クライアント/サーバー構造に基づく、高速、高性能、マルチスレッドのオープン ソー...
目次1. 時刻表示に関する従来の考え方2. 時刻の書式設定 toLocaleString() Obj...
この記事では、kubernetes1.5.2 から kubernetes1.10 にアップグレードす...
<br />セマンティクス化は一言で説明することはできないし、まだ公式かつ厳密な定義もあ...
目次1. 関数パラメータのデフォルト値1.1 関数パラメータのデフォルト値の指定1.2 分離割り当て...
目次MySQLを初期化するMySQL サービスをインストール + MySQL サービスを開始MySQ...
この記事では、Java接続MySQLの基礎となるカプセル化コードを参考までに紹介します。具体的な内容...
1. MacにMySQLデータベースをインストールする1. MySQLデータベースをダウンロードする...