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はリストのスタイルを設定し、ナビゲーションメニューの実装コードを作成します。

1. リストシンボルを設定するlist-style-type: attribute; //リストの...

Ubuntu 18.04 でソースコードから Odoo14 をインストールするチュートリアル

目次このシリーズの背景概要PostgreSQL データベースの準備ソースからインストール仮想環境の作...

Linux suse11でルートパスワードを忘れた場合に変更する方法の簡単な分析

SUSE Linuxでルートパスワードを忘れた場合の解決方法SUSE (Linux オペレーティング...

なぜCSSをヘッドタグに配置する必要があるのか

考えてみてください。なぜcss 、 javascriptのようにbodyタグの末尾ではなく、 hea...

MySQL InnoDB トランザクション ロック ソースコード分析

目次1. ロックとラッチ2. 繰り返し読み取り3. インサートロックプロセス3.1 ロックモード3....

MySQLでホワイトリストアクセスを設定する方法

MySQLでホワイトリストアクセスを設定する手順1. ログイン mysql -uroot -pmys...

iptables および firewalld ツールを使用して Linux ファイアウォール接続ルールを管理する

ファイアウォールファイアウォールは一連のルールです。パケットが保護されたネットワーク空間に出入りする...

HTML doctype の役割の紹介

ドキュメント モードには次の 2 つの機能があります。 1. HTML文書を解析するためにどのHTM...

Remレイアウトを使用して適応性を実現する

以前、モバイル適応に関する記事を書きました。非常に長く、内容が多すぎて読みづらいものでした。そこで、...

Docker 用ビジュアル UI 管理ツール Portainer のインストールと使用方法の分析

Portainer は、ステータス表示パネル、アプリケーション テンプレートの迅速な展開、コンテナ ...

jQueryは検証コード送信のコントロールボタンを無効にする機能を実装します

必要な効果: 確認コードを送信するためにクリックした後、ボタンは無効になり、5 秒後に無効解除されま...

MySQLにおけるSQLの実行順序についてのちょっとした質問

今日、仕事中に左結合に関するSQLの問題に遭遇しました。後で解決しましたが、この問題を通じてSQLの...

MySQL 5.7 のユニオンオール使用法のブラックテクノロジーを 5 分で学ぶ

MySQL 5.6 での union all のパフォーマンスパート 1:MySQL 5.6.25 ...

CSSアニメーションがJSによってブロックされるかどうかについての簡単な議論

CSS のアニメーション部分は JS によってブロックされますが、transform のアニメーショ...

MySQLは実際に分散ロックを実装できる

序文前回の記事では、eコマース シナリオでのフラッシュ セールの例を通じて、モノリシック アーキテク...