概要二つの基本的なMySQLの

集計関数

5つの共通機能は、
数:テーブル内のレコードの数をカウント(行数)
SUM:合計値算出テーブル
AVG:データが平均化された
MAX:最大値選択
、最小の場合:MINを

異なるパラメータのCOUNT関数の結果に応じて、COUNT(*)はデータ行の数は、NULLを含み、COUNT(<カラム名>)NULL以外のデータ線の数であろうとなり
、集約関数は除外NULLはだろう。しかし、COUNT(*)例外はNULLを排除するものではありません。(NULLがあるフォー動作場合、結果はNULLになります)

我々はまた、(キーワードDISTINCT)重複を削除するには、集計関数を使用することができ
、括弧内に書かれたDISTINCT、行数を計算する前にデータを重複排除の意味は、括弧の外に置かれた場合、その後、それは意味がありません!
例:<テーブル名> FROM SELECT COUNT(DISTINCT <列名>);他の関数でも同じ構文です!
GROUP BY句は、彼らが意味のグループにある
構文をFROM:<列名>を選択し、<テーブル名> GROUP BY <列名>;コンマで区切って複数の列!
GROUP BY句は、グループからの後半に書かれなければならない要件を記述することで、列名でごGROUPの後ろにいくつかの小さな部分に分割タイプに応じて、ナイフポイントテーブルで切断された
(WHEREにWHERE句の言葉を書くことが必要とされている場合句の後)。一般的な書き込み順で選択- FROM - BY --group WHERE
注文のSQL句を変更することができない、お互いを置き換えることはできません!

(指定した列名BY GROUP)重合キーがNULL、NULL含まれていた場合、彼は特定のデータセットを同じように!結果は行(空白行)の形で明示される「不確実」です!

BY句WHERE句とGROUPは、それから、それはSELECTステートメントを使用する最初のものである場合ならばWHERE句レコードをフィルタリングします!
SELECT文では、順序とGROUP BYとし、実行します!FROM - WHERE - GROUP BY - SELECT

集合関数と一般的なエラーに関連するGROUP BY句
、GROUP BY句を使用する場合1.は、SELECT句の列名は、キー重合外側に表示することはできません
。2. ASによってエイリアスを作成している以前の研究をSELECTが、GROUP BYの使用エイリアスを使用することはできません時間!エラーではないが、それでも文言をサポートしていません!
BY句結果3.GROUPをソートすることができません
4.集約関数は、WHERE句で使用することはできません!唯一のSELECT句とHAVING句(GROUP BY句と)で重合機能を使用することができます!

HAVING句は、重合の結果のための条件を指定します!
集約関数は、句、およびORDER BY句を持つSELECT句で使用することができます。
HAVING句は、GROUP BY句の後に書き込まれます。
WHERE句は句、指定された条件のためのパケットを備えた、データラインの状態を指定します。
<条件に対応するグループ化結果>の<カラム名>で<テーブル名>グループから<カラム名>を選択重合は機能することができる:構文をHAVING

句SELECT文の列がHAVING使用
SELECT-FROM-WHERE-GROUP BY (HAVING -HAVING 背後書くためBY句句GROUPを)

不正な言葉遣いSELECT製品?_Type、CONUNT(* PRODUCT_TYPE HAVING PRODUCT_NAME BY製品グループから)=「AAA」
の列は、GROUP BY句に含まれていないとき場合や、HAVING句で書くことが許されていません
に関して子供を持ちますWHERE句のより適切な条件、重合条件に対応するキーで書かれた文は、HAVING句とWHERE句を書くことができるで書くことができます!
=句条件が行を指定し、対応する
条件に対応する句=指定された基を有する
重合が原因で発注する前にデータの、句は、一方の条件を指定するWHERE WHERE句にキー推奨書き込みに書き込むことができますフィルタ処理され、ソートするデータの量を低減することが可能である
一方、句が条件に対応する列を指定するだけでなく、処理速度を向上させることができますWHEREにインデックスを作成することができます!あなたは、インデックスメソッドを作成するときに非常に人気のDBMSは、パフォーマンスを向上させます!

ORDER BY句は、降順句のカラム名、DESC BY ORDER背後キーワードASC昇順を使用して、クエリ結果を並べ替えることができます!
ASC(ascendent昇順)DESC(の子孫減)
発注キーがNULL含まれている場合、ORDER BY句には、複数のソート・キーを指定することができますが、先頭または末尾に要約されます!
これは、SELECT句の列に定義された別名を使用することができます!また、使用してもよいし、重合列が機能した形跡はありません!しかし、あなたは数字の列を使用することはできません!
SELECT句は、GROUP BY句の実装では、そのため、ORDER BY句の前に、順番に、GROUP BY句の後に実行され、SELECT文で定義された別名が認識されていません!
SELECT、後にORDER BY句の実装では、この問題を持っていません!
詳細な構文:
FROM SELECT <カラム名> <テーブル名>(列名+ L Lの下降カラム名を降順!)カンマで区切られた複数の列を使用して<ソート列を参照> BY ORDER!
順序を書く:BY -HAVING-ORDER BY -from-WHERE-グループを選択し
、通常はSELECT文の最後に書かれBY ORDER!デフォルトを使用する場合は、ソートBY句のソート順の昇順が指定されていません!

あなたはより詳細なソートのための商品を注文したい場合は、単にソート・キーを追加します!カンマで区切られました!ときに同じ値が列を残している場合は、左から右へ、右を参照することにより、その後のルール優先度!また、三つ以上を使用することができます!

おすすめ

転載: www.cnblogs.com/yeapy/p/11578088.html