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のサンプルコード

transform:scale()比例したズームインまたはズームアウトを実現できます。 transi...

CSS3 で transform を使用した場合のフォントぼかしの解決方法の詳細な説明

この質問は非常に奇妙なので、あまり多くを語らずにコードに直接進みます。 .g-ダイアログラッパー{ ...

Node.js コンソールで強調表示されたコードを印刷する方法

序文コードを実行してエラーが発生すると、エラーが出力されます。エラーにはスタック情報が含まれており、...

JavaScriptはスタック構造の詳細なプロセスを実装する

目次1. スタック構造を理解する2. スタック構造のカプセル化3. 10進数を2進数に変換する1. ...

jsを使ってシンプルなディスククロックを実現する

この記事では、参考までに、シンプルなディスククロックを実装するためのjsの具体的なコードを紹介します...

jsはFileReaderを使用してローカルファイルまたはBLOBを読み取ります

目次FileReaderはローカルファイルまたはBLOBを読み取ります1. FileReaderの使...

MySQLデータベース設計:Pythonを使ったスキーマ操作方法の詳しい解説

矢が放たれる前に、弓は矢にささやきました。「お前の自由は私のものだ。」スキーマは矢のようなもので、弓...

uniappがインターフェースドメイン名を動的に取得する方法を分析する

背景インターフェイス ドメイン名はハードコードされておらず、動的に取得されます。具体的な実装は、静的...

Hyper-V インストール CentOS 8 の問題の分析

CentOS 8 がリリースされてから随分経ちました。Linux 仮想マシンをいじっている人間として...

Vue は無限ロードウォーターフォールフローを実装します

この記事では、参考までに、無限ロードウォーターフォールフローを実現するためのVueの具体的なコードを...

MySQL 8.0 DDLアトミック機能と実装原則

1. DDLアトミック性の概要8.0 より前は、統一されたデータ ディクショナリ dd はありません...

Element-ui レイアウト (行と列コンポーネント) の実装

目次基本的な手順と使用方法行コンポーネントの分析レンダリング機能ソースコード分析Col成分の分析コン...

Vue のトランジション効果とアニメーショントランジションの使用例の詳細な説明

目次遷移フック関数カスタム遷移クラス名遷移グループの使用まとめまずは例を見てみましょうコードは次のと...

ウェブサイトはグレー表示されています。画像を含む互換コードはすべてのブラウザをサポートしています

通常、国喪の日、大地震の日、清明節には、ウェブサイト全体を灰色にして、故人への哀悼の意を表します。そ...

Nginxドメイン名転送のhttpsアクセスの実装

事前に一言:突然、複数のドメイン名のアクセスを https に転送するというタスクを受け取りました。...