1. MySQLの関数の説明「概念」: Java や Python のメソッドと同様に、一連の論理ステートメントがメソッド本体にカプセル化され、メソッド名が外部に公開されます。 「利点」:Ⅰ実装の詳細を隠す;Ⅱコードの再利用性を向上させる; "呼び出し": 関数名 (実際のパラメータ リスト) [テーブルから] を選択します。 「機能」:Ⅰ 何と呼ばれているか(機能名) Ⅱ 何をするか(機能機能) 「分類」:Ⅰ 単一行機能;Ⅱ グループ化機能; 「単一行関数とは:」: テーブル内のレコードの各行に対して動作し、レコードごとに 1 つの結果が得られます。 「集計関数とは:」: 1 つ以上の行に作用し、最終的に結果を返します。 2. 単行関数の分類キャラクター機能 数学関数; 日付関数; その他の機能: プロセス制御機能。 3. キャラクター機能1) 操作は以下のとおりです。 2) 操作は以下のとおりです。 3) 操作は以下のとおりです。 4) 操作は以下のとおりです。 5) 操作は以下のとおりです。 6) 操作は以下のとおりです。 7) 操作は以下のとおりです。 8) 操作は以下のとおりです。 9) 操作は以下のとおりです。 10) 操作は以下のとおりです。 4. 数学関数1) 操作は以下のとおりです。 2) 操作は以下のとおりです。 3) 操作は以下のとおりです。 4) 理解は次のとおりです。 「以下の例の画像を参照して、次のテキストを理解してください」 2) D が 0 の場合、小数部分はそのまま切り捨てられます。 3) D は負の数であり、演算は小数点の左側の整数部分に対して行われます。 サンプル画像: 操作は以下のとおりです。 5) 操作は以下のとおりです。 5. 日付と時刻の機能日付の意味: よく言われる年、月、日を指します。 時間の意味: 私たちがよく言う時間、分、秒を指します。 次の機能を説明する前に、まずは知識を追加しましょう。さまざまな時刻形式文字は何を意味するのでしょうか? 1) 操作は以下のとおりです。 2) 操作は以下のとおりです。 3) 操作は以下のとおりです。 4) 日付と時刻の年、月、日、時、分、秒を取得します。 年を取得します: year(); 月を取得します: month(); 日を取得します: day(); 時間を取得します: hour(); 分を取得します: minute(); 秒を取得します: second(); 5) 操作は以下のとおりです。 6) 操作は以下のとおりです。 7) 操作は以下のとおりです。 8) 操作は以下のとおりです。 9) 操作は以下のとおりです。 10) 操作は以下のとおりです。 11) 操作は以下のとおりです。 12) 単位パラメータは、(開始日、終了日) の結果を決定する単位であり、整数として表されます。有効な単位は次のとおりです。 年: 年 月: 月 日: 日 時間: 時間 分 秒: 秒 マイクロ秒: マイクロ秒 week: 週番号 四半期:四半期 年: 年 操作は以下のとおりです。 6. その他のよく使われるシステム機能7. フロー制御機能1) 2) 3) case … when には 3 つの用法があります。私の要約は非常に包括的であると思います。皆さんがこれらの使い方を注意深く研究してくれることを願っています。どれも非常に役立ちます。 同等性の判断: Java の switch case の効果に似ています。 区間判定: Python の if-elif-else の効果に似ています。 case ... when は集計関数と組み合わせて使用されます。 ① case ... 等価判定の構文形式として使用されるとき
操作は以下のとおりです。 ② case … 区間判定の構文形式として用いられる場合
操作は以下のとおりです。 ③ case…whenと集計関数の組み合わせ 上記の元の表を使用して、次の質問に回答してください。 -- 18. 各科目の最高得点、最低得点、平均得点を確認し、次の形式で表示します。 操作は以下のとおりです。 sc.c、cname を選択し、 max(スコア)は最高スコア、min(スコア)は最低スコア、avg(スコア)は平均スコアです。 sum(case スコア>60 なら 1、それ以外は 0、終了)/count(*) 合格率、 sum(case スコア>=70かつスコア<80の場合は1、それ以外は0、終了)/count(*) 中レート、 sum(case スコア>=80かつスコア<90の場合は1、それ以外は0、終了)/count(*) 良いレート、 sum(case スコア>=90 の場合 1、それ以外の場合は 0 終了)/count(*) sc からの優秀なレートがコースに参加しました sc.c = course.c で sc.c でグループ化します。 結果は次のとおりです。 8. 集計関数1) 集計関数の機能と分類① 集計関数の機能 統計目的で使用され、集計関数、統計関数、またはグループ関数とも呼ばれます。 ②集計関数の分類;合計を表すsum、平均値を表すavg、最大値を表すmax、最小値を表すmin、計算回数を表すcount 2) 集計関数の簡単な使用3) 5 つの集計関数に渡されるパラメータではどのようなデータ型がサポートされていますか?MySQL は厳密に型指定されたプログラミング言語ではありません。つまり、一部のステートメントは実行時にエラーを報告しないかもしれませんが、実行結果は無意味であるため、これも間違っていると考えられます。 ① テストデータ 「テーブルステートメントの作成」 テーブルテストを作成( id int 主キー auto_increment, 名前varchar(20)がnullではない、 サルint、 生年月日)charset=utf8; 「データを挿入」 テスト(name,sal,birth)の値に挿入する (「動物園」、6500、'1993.3.20')、 (「趣味」、4000、'1997.6.10')、 (「アライン」、5500、'2000.5.1')、 ("ボブ",10000,'2008.10.1'); ② sum() 関数と avg() 関数: 整数/小数型を渡すのが合理的です。 結論は次のとおりです。 sum() 関数と avg() 関数は、文字列型と日付/時刻型の計算にはあまり意味がありません。したがって、小数型と整数型を合計するには、sum() 関数と avg() 関数のみを使用します。 ③ max() 関数と min() 関数: 整数/小数型、日付/時刻型で渡す方が意味があります。 結論は次のとおりです。 max()とmin()に渡されるのは「整数・小数型」であり、数値の ④ count() 関数: 任意のデータ型を渡すことができますが、null に遭遇した場合は注意してください。 結論は次のとおりです。 count() 関数は、任意のデータ型を渡して行をカウントできます。 要約:
実際、すべてのグループ化関数は null 値を無視しますが、上記の count() 関数では null 値に遭遇したときに特別な注意が必要です。 ⑤ count() 関数が null 値に遭遇した場合は特に注意してください。 結論は次のとおりです。 avg(sal)の平均値の場合、(6500+4000+5500+10000)/4=6500となります。 次のsum()/count(*)で平均を計算すると、(6500+4000+5500+10000)/5=5200となります。 上記の例を注意深く見てみましょう。場合によっては、誰かのスコアが null として記録されていても、まだ 5 人いることがあります。そのため、適切な関数を使用して希望する結果を達成する方法を検討する必要があります。 ⑥ count(1)とcount(0)はどういう意味ですか? sum(1)、sum(0)、count(1)、count(0)、avg(1)、avg(0)のいずれの場合でも、原理は同じで、元のテーブルに新しい列を追加するのと同じです。 次に、where の後に [論理値] が続くことがわかります。where 1 と where 0 を使用する場合も、原理は同じで、元のテーブルに新しい列を追加するのと同じです。 MySQL では、「0 以外は true、0 は false」ということを覚えておく必要があります。つまり、以下のすべての 1 を任意の 0 以外の数字に置き換えることができます。 概略図は以下のとおりです。 テストしてみましょう: ⑦ count(*) カウントの効率 MYISAM ストレージ エンジンでは、count(*) は非常に効率的です。 INNODB ストレージ エンジンでは、count(*) と count(1) はほぼ同じくらい効率的ですが、count(field) よりもわずかに効率的です。まとめると、count(*) が推奨されます。 4) 集計関数とグループ化の使用は「最も重要」です。この知識ポイントについては、次の知識ポイントで説明します。ここで覚えておく必要があるのは、SQL ステートメントで group by 関数が使用される場合、select の後のフィールドは、group by + 集計関数の使用後のフィールドである必要があります。 上記は、詳細な例分析を伴う非常に実用的な MySQL 関数の包括的な概要の詳細です。MySQL 関数の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。 以下もご興味があるかもしれません:
|
1. 事前に準備する便宜上、ここで 2 つのテーブルを作成し、そこにいくつかのデータを追加します。果...
ウェブサイトがワイドスクリーンの場合、ブラウザ ウィンドウを左右にドラッグすると、ウェブサイトの幅が...
この記事では、MySQL 8.0.24のインストールチュートリアルを参考までに紹介します。具体的な内...
<base target=_blank> は、基本リンクのターゲット フレームを新しいペ...
CSS3 アニメーション トランジションを使用して、リンクの上にマウスを移動すると小さなポップアップ...
目次1. 現状2. JSでCADグラフィックを作成および変更する2.1 サポートされているCADエン...
目次バックグラウンドで10,000個のデータが失われた再帰法非再帰的方法要約するバックグラウンドで1...
p>「サービス」で手動で起動すると、 コンソールから起動します: 次に、...\MySQL S...
この記事では、Nodejs 開発プロセスで遭遇する配列の特性によって発生する問題と解決策、および配列...
輸出: docker save -o centos.tar centos:latest #cento...
目次序文コンストラクタ、プロトタイプオブジェクト、インスタンスオブジェクトの関係プロトタイプチェーン...
Firefox の下位バージョンでは中国語の文字を入力できず、上位バージョンでは文字化けした文字が表...
1. HTMLフォントカラー設定HTML では、フォント タグを使用してフォント コンテンツの色を設...
目次ログインビジネスプロセスログイン機能の実装要約するまず、エフェクトの実装プロセスを見てみましょう...
序文ご存知のとおり、ブラウザの相同性戦略とクロスドメイン方式も、フロントエンド面接で頻繁に遭遇する問...