MySQL 集計関数のソート

MySQL 集計関数のソート

MySQL 結果のソート - 集計関数

環境

テーブル「学生」を作成(
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '学生番号',
  `student_name` varchar(255) 文字セット utf8 COLLATE utf8_general_ci NOT NULL COMMENT '学生名',
  `sex` varchar(5) 文字セット utf8 照合 utf8_general_ci NOT NULL コメント '性別\r\n',
  `age` int(11) NULL デフォルト NULL コメント '年齢',
  `result` double(10, 0) NULL デフォルト NULL コメント '結果',
  BTREE を使用した主キー (`id`)
) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
`student` に VALUES (1, '小王', '男', 18, 90) を挿入します。
`student` に VALUES (2, 'Xiao Li', '女性', 19, 80) を挿入します。
`student` に VALUES (3, 'Xiao Ming', '男性', 20, 85) を挿入します。
INSERT INTO `student` VALUES (4, '小张', '男', 21, 87);

クエリ結果の並べ替え

最も一般的な用途は、Weibo で人気のある製品やホットな検索をフィルタリングすることです。

構文形式:

SELECT フィールド名 1… FROM テーブル名 ORDER BY フィールド名 1 [ASC | DESC ], フィールド名 2 [ASC | DESC ]…;

フィールド名 1 と 2 は、クエリ結果を並べ替えるための基準となります。 ASC は昇順、DESC は降順を意味します。 デフォルトは ASC です。

前足を上げてください:

SELECT * FROM student ORDER BY age DESC ; 

·

2 つの並べ替えルールが続く場合、最初のフィールド名は同じになり、並べ替えは 2 番目のフィールド名の並べ替えルールに基づいて行われます。

あなたがしなければならないのは、自分でそれを理解することだけです。

考える:

age を降順、student_name を昇順で検索する関数の書き方を教えてください。

クエリのグループ化と集約

集計関数

関数効果
平均()列の平均を返します
カウント()列内の行数を返します(統計)
最大()列の最大値(max)を返します
最小値()列内の最小値(最小値)を返します
和()列内の値の合計を返します(合計)

生徒の平均年齢を確認する

学生から「年齢」としてAVG(年齢)を選択します。 

総人数を確認する

学生から「総人数」としてcount(id)を選択します。 

各年齢の人数を調べます。

学生グループから年齢、count(id)を「総人数」として選択します。年齢別; 

ここに画像の説明を挿入

最高年齢を確認する

学生から「最大年齢」として MAX(age) を選択します。 

[外部リンク画像の転送に失敗しました。ソースサイトにはアンチホットリンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-dzr9FGai-1619187251369) (8mysql_result sorting_aggregation function.assets/image-20210423220055446.png)]

同じより少ない。

男性と女性の数を調べてください

select sex ,count(*) AS "人数" from student GROUP BY sex;
#GROUP BYは、次のフィールド名に従って結果をグループ化します

クエリの合計スコアはいくらですか?

select sum(result) as "total score" FROM student; 

[外部リンク画像の転送に失敗しました。ソースサイトにはアンチホットリンクメカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-BcxPQPRB-1619187251372) (8mysql_result sorting_aggregation function.assets/image-20210423221101057.png)]

要約する

この記事はこれで終わりです。皆さんのお役に立てれば幸いです。また、123WORDPRESS.COM のその他のコンテンツにも注目していただければ幸いです。

以下もご興味があるかもしれません:
  • MySQL での utf8mb4 照合の例
  • インデックススキャンを使用したMySQLソート
  • MySQL のあまり知られていないソート方法
  • Mysql 中国語ソートルールの説明
  • MySQLのデフォルトのソートルールに基づく落とし穴
  • MySQL ソートの原則とケース分析
  • MySQLクエリのソートとページング関連
  • インデックスを使用して MySQL ORDER BY ステートメントを最適化する方法
  • MySQL のソートとページング (order by と limit) と既存の落とし穴
  • MySQL ソート機能の詳細

<<:  Tomcat マルチインスタンスの展開と構成の原則

>>:  初心者向けウェブサイト構築チュートリアルの概要

推薦する

CSSでnグリッドレイアウトを実装する方法

一般的なアプリケーションシナリオ現在のアプリのインターフェースは基本的に同じであり、グリッドレイアウ...

携帯電話に GreasyFork js スクリプトをインストールするチュートリアル

目次序文1. Iceraven ブラウザ (Firefox) (Android) 2. (アンドロイ...

Vue でユーザー権限に基づいてルートを動的に追加する方法

ユーザーの権限に応じて異なるメニュー ページを表示します。知識ポイントルートガード(事前ガードを使用...

JavaScript継承のさまざまな方法とメリット・デメリットを詳しく解説

目次1. プロトタイプチェーン継承2. コンストラクタの借用(古典的な継承) 3. 組み合わせ継承4...

数百万のデータボリュームに対する MySQL ページングクエリ方法とその最適化の提案

データベース SQL の最適化はよくある問題です。何百万ものデータ ボリュームに対してページング ク...

CentOS 7 はネットワークカードを変更した後、インターネットにアクセスできません

不明なドメイン名 www.baidu.com を Ping するホストのIPアドレスを変更する右クリ...

モバイルデバイスで 1 ピクセルの境界線の問題を解決するいくつかの方法 (5 つの方法)

この記事では、モバイルデバイス上の 1 ピクセルの境界線の問題を解決する 5 つの方法を紹介します。...

Spring Boot + jar パッケージングのデプロイメント Tomcat 404 エラーの問題を解決する

1. Spring Boot は jsp jar パッケージをサポートしていません。jsp は wa...

HTMLおよびJSPページがキャッシュされ、Webサーバーから再取得されるのを防ぎます。

ユーザーがログアウトした後、ブラウザの戻るボタンがクリックされると、Web アプリケーションは保護さ...

js を使ってシンプルな虫眼鏡効果を実現

この記事の例では、参考までに簡単な虫眼鏡効果を実現するためのjsの具体的なコードを共有しています。具...

MySQL グリーンバージョン設定コードと 1067 エラーの詳細

MySQL グリーンバージョン設定コードと 1067 エラーMySQL エンコーディングを表示 &#...

ブラウザは関連するHTTPヘッダーをキャッシュし、HTTPリクエストの数を最小限に抑えます。

最近、Yahoo の 34 の黄金律を読み、ウェブサイトのパフォーマンスを最適化する方法を学びました...

フロントエンド例外 502 不正なゲートウェイの原因と解決策

目次502 不正なゲートウェイ エラーの発生1. 502 不正なゲートウェイ エラーとは何ですか? ...

Dockerにlogstashをインストールする詳細な手順

docker-compose.yml を編集し、次のコンテンツを追加します。 バージョン: '...

MySQL デュアルマシン ホットスタンバイ実装ソリューション [テスト可能]

目次1. コンセプト2. 環境の説明3. マスタースレーブホットスタンバイ実装1. コンセプト1. ...