色のソースを使用して、第三のカウントでのMySQLは、条件の統計を販売します

最近、鏡に頻繁に()関数をカウントし、三点光源の色の源[サツマイモ]フォーラムdiguaym.com加工企業の販売空腹2152876294 MySQLの問題で発見され、そこの状況パケット統計がしばしばあるが、時にはポイントにより、優れた使用グループではありません基が直接カウントすることができ、例えば、一般的な要件、少年の統計的比率シェアの各クラスは、これは一般的にクラスによってグループ化されますが、グループ内のクラスサイズの数だけでなく、統計的な男の子をカウントするだけではなく、その統計は、後で使用を見つけるのは簡単、あなたが実際にどのように固体と考えたことがないまで、条件付きであり、後のデータを照会し、ここにまとめました。

一般的な使用回数()関数でのMySQLのあなたは、統計的条件を実行するには、この機能を使用することができますので、ここに注意を払う、レコード数の非空のフィールドの統計では、フィールドにはカウントされない場合はNULLですが、それは、統計に偽となり、覚えていますこれは、我々はいくつかの一般的な条件の統計文言を見しようとしています。

测试环境
のWindows 10
のMySQLモニタへようこそ。コマンドは、で終わります。や\ g。
MySQLの接続IDが7である
5.7.21-ログのMySQL Community Serverの(GPL):Serverバージョン
著作権©2000、2018、Oracleおよび/またはその関連会社。全著作権所有。
Oracleは、Oracle Corporationおよび/またはその関連会社の登録商標です。その他の名称はそれぞれの所有者の商標である場合があります。
「助けを;」タイプ 助けのためか、「\ hを」。型「\ c」が現在の入力文をクリアします。

調製
新しいデータテーブルのMysql、IDとを含む二つのフィールドNUM
のMySQL>表A(INT IDを、int型NUM)を作成し、
OKを問い合わせ、0行が影響を受ける(0.04秒)
。1
2
(カウントを見るために、試験データに挿入されます)エフェクト機能、我々は2つのヌルデータ挿入
、値(1100)、(2,200)、(3,300)、(4300)への挿入> MySQLを(8、ヌル。)(9、NULL);
OK、影響を受けた行を問い合わせる6。 (0.01秒)
。レコード:重複6:0警告:0
1
2
3
ルックアップテーブルのデータ、及び後ろ統計的比較するため
のMySQL> SELECT *から、
+ ---- + ------ +
| ID | NUM |
+ ---- + ------ +
| 1 | 100 |。
| 2 | 200 |
| 3 | 300 |。
| 4 | 300 |。
| 8 | NULL |。
| 9 | NULL |。
+ - - + ------ +
行SET(0.09秒)6。
1
2
3。
。4
。5
。6
。7
。8
。9
10
11
12である
COUNT(*)は、レコードの数のすべてを照会していますが、COUNT(NUM)のみの4つのデータを見つけを使用している場合、NULLのnum個の手段を記録した場合、効果を確認するための呼び出し回数()関数と統計学的に
MySQLの> SELECT COUNT(*)Aから;
+ ---------- +
| COUNT(*)|
+ ---------- +
| 6 |
+ --- + -------
。行セット内の1(0.03秒)

MySQLの> SELECT COUNT(NUM)Aから;
+ ----------------------- +
| COUNT(NUM)|
+ ----------------------- +
| 4 |。
+ - + ----------
。1行セット(0.04秒)に
1
2
3
4
5
6
7
8
9
10
11
12は、
13である
14
15
統計的に
達成するために、追加またはヌル条件式で使用される数()関数役割は、条件が満たされていない場合、関数カウント(ヌル)の数はカウントされませんになることである
;からSELECT COUNT(NUM> 200またはnull)> MySQLを
+ -------------- + ------------
| COUNT(NUM> 200またはnull)|
+ -------------------------- +
| 2 |
+ -------------------------- +
1行セット(0.22秒)中
1
2
3
4。
5
。6
。7
条件が成立したときCOUNT()関数は、式の場合に実装するために使用される式が空でないある条件が満たされない場合、式はNULLと評価され、
MySQLの> SELECT COUNT((NUM> 200 ,. 1である場合、 AからNULL));
+ ------------------------------- +
| COUNT(IF(NUM> 200は、,. 1ヌル))|
+ ------------------------------- +
| 2 |
+ --------- + ----------------------
。行セット(0.05秒)で1
。1
2
。3
。4
。5
。6
。7
発現が達成される場合に使用COUNT()関数、条件が満たされた場合、空でない結果の表現であり、条件が満たされない場合は結果のデフォルト値はNULLではない。
MySQLの> SELECT COUNT(NUMが> 200は、その後された端ケース1)から、
+ --------- + ------------------------------
| COUNT(ケースNUM> 200は、その後1終了)|
+ ----- + ----------------------------------
| 2 |
--------------------------------------- + +
。行セット(0.07秒)で1
。1
2
。3
。4
。5
。6
。7は、
要約
統計的基礎に実装使用カウント()関数は、記録カウント値でないNULLであり、一般的に使用される3つの方法があり、レコードNUMを仮定すると、200よりも大きいです

から選択数(num>は200またはnull);
選択数(200(NUM>なら、1、NULL))から
選択数(場合> 200 numはその後1つの端)から

おすすめ

転載: www.cnblogs.com/sdhjtfhjds88/p/11088372.html