テーブル: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 を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
2011 年に最も顕著なウェブサイトの変更は、一連の製品に新しいユーザー インターフェースを導入した...
この記事では、参考までにMySQL 8.0.15圧縮版のインストール方法を紹介します。具体的な内容は...
Web デザインで js を使用すると、多くのページ効果を実現できますが、HTML タグの META...
数日前、同僚からMySQLのインデックスについて質問を受けました。大体わかっているのですが、まだ練習...
目次シーン紹介プラグインの実装問題1: 重複したヘッダーコンポーネント質問2: 別の実装アイデア質問...
現在、多くの企業が割引コードを通じてプロモーションを行っています。今では、8桁の割引コードを実装して...
(1) HTML: ハイパーテキストマークアップ言語。主に「ヘッダー」と「ボディ」の2つの部分で構...
あなたはこの質問について考えたことがあるでしょうか?デュアルアクティブが構成されている場合、データル...
<br /> 英語原文: http://desktoppub.about.com/od/...
一番外側の boxF は 120 度回転し、2 番目の boxS は -60 度回転し、3 番目の ...
1) jdkファイルが保存されているフォルダパスを入力します私はここにいますusr/local/jd...
この記事の例では、VueがPCカメラを呼び出して写真機能を実現する具体的なコードを参考までに共有して...
1. PPTP VPNを構築するには、ポート1723とGREプロトコルを開く必要があります。 1. ...
Tomcatをインストールする前に、まずJDK環境をインストールしてくださいLinux サーバー上で...
実施効果: 1. count(1) と count(*)テーブル内のデータ量が多い場合、テーブルを分...