テーブル: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 を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
K8s k8s はクラスターです。クラスターには複数の名前空間があります。名前空間の下には複数のポッ...
目次概要バーチャルドム原理実装プロセスパッチ方式sameVnode関数patchVnode関数upd...
テーブルの style="table-layout:fixed;" を設定し、次...
目次Nginx は 2 つの socket.io サーバーをプロキシします。 socket.ioの動...
1. openjdkを表示する rpm -qa|grep jdk 2. openjdk を削除します...
タイトルの通り、高さは既知で、左と右の列の幅は 300 ピクセル、中央は適応型です。弾性ボックス自体...
前回の記事では、Dockerの基礎知識であるローカルディレクトリのマウント方法を紹介しました。今日は...
mysql5.7.17無料インストールバージョンのインストールに関する最近の経験1.ダウンロードして...
目次序文:ウォーターフォールレイアウトとは何ですか?達成方法: 1. 画像を取得する2. 画像の帯域...
目次概要1. DOM要素をアニメーション化する方法2. 現在のブラウザでサポートされている変換互換の...
Alibaba Cloud Dockerコンテナサービスの設定Alibaba Cloud Image...
この記事では、CSS スティッキー フッターの実装コードを紹介し、共有します。詳細は次のとおりです。...
この記事では、MySQL 5.7.21のインストールに関する注意事項をまとめ、皆さんと共有します。 ...
MySQL交換パーティションの詳細な例序文exchange パーティションを紹介する前に、まず my...
これまでのブログ投稿では、HTML 5 ではあまり使われていないが注目すべき API やヒントに焦点...