sql >> データベース >  >> RDS >> SQLite

SQLiteを持っている

    概要 :このチュートリアルでは、SQLite HAVINGの使用方法を学習します グループまたは集合体のフィルター条件を指定する句。

    SQLite HAVINGの紹介 条項

    SQLite HAVING 句は、SELECTのオプションの句です。 声明。 HAVING 句は、グループの検索条件を指定します。

    HAVINGをよく使用します GROUP BYを含む句 句。 GROUP BY 句は、行のセットを要約行またはグループのセットにグループ化します。次に、HAVING 句は、指定された条件に基づいてグループをフィルタリングします。

    HAVINGを使用する場合 句には、GROUP BYを含める必要があります 句;そうしないと、次のエラーが発生します:

    Error: a GROUP BY clause is required before HAVINGCode language: JavaScript (javascript)

    HAVINGに注意してください 句はGROUP BYの後に適用されます 一方、WHERE GROUP BYの前に句が適用されます 条項。

    次に、HAVINGの構文を示します。 条項:

    SELECT
    	column_1, 
            column_2,
    	aggregate_function (column_3)
    FROM
    	table
    GROUP BY
    	column_1,
            column_2
    HAVING
    	search_condition;Code language: SQL (Structured Query Language) (sql)

    この構文では、HAVING 句はsearch_conditionを評価します グループごとにブール式として。評価が真の場合にのみ、最終結果セットにグループが含まれます。

    SQLite HAVING 条項の例

    tracksを使用します デモンストレーション用のサンプルデータベースのテーブル。

    各アルバムのトラック数を見つけるには、GROUP BYを使用します 次のような条項:

    SELECT
    	albumid,
    	COUNT(trackid)
    FROM
    	tracks
    GROUP BY
    	albumid;Code language: SQL (Structured Query Language) (sql)

    試してみてください

    ID 1のアルバムのトラック数を見つけるために、HAVINGを追加します。 次のステートメントの句:

    SELECT
    	albumid,
    	COUNT(trackid)
    FROM
    	tracks
    GROUP BY
    	albumid
    HAVING albumid = 1;

    試してみてください

    AlbumIdを参照しました HAVINGの列 条項。

    トラック数が18〜20のアルバムを検索するには、HAVINGの集計関数を使用します 次のステートメントに示されている句:

    SELECT
       albumid,
       COUNT(trackid)
    FROM
       tracks
    GROUP BY
       albumid
    HAVING 
       COUNT(albumid) BETWEEN 18 AND 20
    ORDER BY albumid;Code language: SQL (Structured Query Language) (sql)

    試してみてください

    SQLite HAVING INNER JOINを含む句 例

    次のステートメントは、tracksからのデータをクエリします およびalbums 内部結合を使用して、全長が60,000,000ミリ秒を超えるアルバムを検索するテーブル。

    SELECT
    	tracks.AlbumId,
    	title,
    	SUM(Milliseconds) AS length
    FROM
    	tracks
    INNER JOIN albums ON albums.AlbumId = tracks.AlbumId
    GROUP BY
    	tracks.AlbumId 
    HAVING
    	length > 60000000;Code language: SQL (Structured Query Language) (sql)

    試してみてください

    このチュートリアルでは、SQLite HAVINGの使用方法を学びました。 グループの検索条件を指定する句。


    1. プランエクスプローラーでプランの詳細をネイティブに匿名化します

    2. Oracleで数値を含まない行を返す2つの方法

    3. MySQLで通知用のデータベースを設計するためのガイド

    4. SQLServerUNION-デフォルトのORDERBYの動作は何ですか