MySql基礎——selectの句


1.groupby(グループ)
照会した結果をグループ化し、COUNT、SUM、AVG、MAX、MINと組み合わせて使用するのが一般的です
たとえば、各クラスの国語の平均点数を調べたいです.
SELECT AVG(yuwen) avg_s FROM score GROUP BY class_id;
に示される結果は、クラスごとにグループ化され、各クラスの国語の平均成績を計算するフィールドavg_がある.s
2.order by(ソート)
クエリー結果をソートし、昇順(ASC)と降順(DESC)にソートします.
たとえば、idによる降順クエリー
SELECT * FROM student ORDER BY id DESC

クエリの結果、最初の列はid数が最大のデータであり、その後、降順に並べ替えられます.
デフォルトでは昇順で並べ替えられます.複数の並べ替えフィールドが指定されている場合、1番目のフィールドが等しいデータは2番目のフィールドで並べ替えられます.
3.having(クエリー結果のみ)
クエリの結果が操作されます
例えば、すべての成績が不合格の学生を検索します.
SELECT * FROM score WHERE s_score<60

これらの不合格の学生の中から3組を選ぶ必要があります.もちろんここではANDで解決することができます.havingでもこの問題を解決することができます.
SELECT * FROM score WHERE s_score<60 HAVING class_id = 3
HAVINGの後の条件は、WHERE文でクエリされたデータにのみ適用されます.この方法は、WHERE文でクエリされたデータを一時テーブルとして、HAVING文でこの一時テーブルからデータをクエリすることに似ています.
4.limit(クエリー・エントリの制限)
offsetとlimitでページングクエリーの機能を実現
たとえば、1ページあたり10個のデータをページング・クエリー
SELECT * FROM student LIMIT 0,10

以上の0はオフセット値、10は10のレコードをクエリーし、オフセット値は0で、最初のデータからクエリーを開始します.
オフセット値が1の場合は、2番目のデータからクエリーが開始されます.
limitの多様な書き方
SELECT * FROM student LIMIT 10;//         ,       , 0,        
SELECT * FROM student LIMIT 10 OFFSET 0;//         ,    OFFSET         
SELECT * FROM student LIMIT 0,10;//        ,   OFFSET