SQLiteのグループ化
同一のデータグループにSELECT文で使用するためのBY句のSQLiteGROUP。
SELECT文では、WHERE句でGROUP BY句は後に、ORDER BY句の前に置きます。
文法
以下は、BY句の基本構文グループを示しています。 GROUP BY句は、WHERE句の条件の後に配置されている必要があり、それがORDER BY句の前に置かなければなりません。
SELECT列リスト TABLE_NAME FROM WHERE [条件] column1の、column2の.... columnN、GROUP BY column1の、column2の、ORDER BY .... columnN
あなたは、GROUP BY句で複数のカラムを使用することができます。 あなたが列リストにグループ化列を使用していることを確認します。
例
仮定COMPANYテーブルには、次のレコードを持っています。
IDのNAME AGEアドレスSALARY ---------- ---------- ---------- ---------- ---------- 1ポール32カリフォルニア20000.0 2アレン25テキサス15000.0 3テディ23ノルウェー20000.0 4マーク25リッチモンド65000.0 5デイビッド27テキサス85000.0 6金22サウスホール45000.0 7ジェームス・24ヒューストン10000.0
あなたが各顧客の総賃金法案を知りたい場合は、次のようにGROUP BYクエリを使用することができます。
名前でCOMPANY GROUP FROMのsqlite> SELECT NAME、SUM(SALARY)。
これにより、以下の結果が得られます。
NAMEのSUM(SALARY) ---------- ----------- アレン15000.0 デビッド85000.0 ジェームズ10000.0 キム45000.0 マーク65000.0 ポール20000.0 テディ20000.0
それでは、会社テーブル内の別の3つのレコードを作成するには、次のINSERT文を使用してみましょう:
会社名理念、INSERT INTO(8、 'ポール'、24、 'ヒューストン'、20000.00); 会社名理念(9、 'ジェームズ'、44、 'ノルウェー'、5000.00)。INSERT INTO。 (5000.00、10、 'ジェームズ'、45、 'テキサス')会社名理念。INSERT INTO。
次のように今、私たちのテーブルには、レコード名が重複しています
IDのNAME AGEアドレスSALARY ---------- ---------- ---------- ---------- ---------- 1ポール32カリフォルニア20000.0 2アレン25テキサス15000.0 3テディ23ノルウェー20000.0 4マーク25リッチモンド65000.0 5デイビッド27テキサス85000.0 6金22サウスホール45000.0 7ジェームス・24ヒューストン10000.0 8ポール24ヒューストン20000.0 9ジェームズ・44ノルウェー5000.0 10ジェームズ45テキサス5000.0
次のように私たちはグループにBY文のすべてのレコードを押しNAME列を同じGROUPを使用してみましょう:
名前順ORDER BY COMPANY GROUP FROMのsqlite> SELECT NAME、SUM(SALARY)。
これにより、以下の結果が得られます。
NAMEのSUM(SALARY) ---------- ----------- アレン15000 デビッド85000 ジェームズ20000 キム・45000 マーク65000 ポール40000 テディ20000
次のようにORDER BY句は、GROUP BY句と組み合わせて使用されてみましょう:
sqliteの> SELECT NAME、SUM(SALARY) COMPANY GROUPから名前DESC BY NAMEのORDER BY;
これにより、以下の結果が得られます。
NAMEのSUM(SALARY) ---------- ----------- テディ20000 ポール40000 マーク65000 キム・45000 ジェームズ20000 デビッド85000 アレン15000