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

SQLで個別の値をカウントする方法

    問題:

    特定の列にNULL以外のさまざまな値がいくつあるかを数えたいと考えています。

    例:

    私たちのデータベースには、customer 次の列にデータがあります:idfirst_namelast_name 、およびcity

    id first_name last_name 都市
    1 ジョン ウィリアムズ シカゴ
    2 トム ブラウン オースティン
    3 ルーシー ミラー シカゴ
    4 エリー スミス ダラス
    5 ブライアン ジョーンズ オースティン
    6 アラン デイビス NULL

    異なる(およびNULL以外の)数を見つけましょう )都市。

    解決策:

    SELECT COUNT( DISTINCT city) as cities
    FROM customer;
    

    このクエリは、顧客が住んでいる都市の数を返します:

    都市
    3

    ディスカッション:

    特定の列に格納されているさまざまな値の数をカウントするには、COUNTに渡す列を指定するだけです。 DISTINCTとして機能します 。列が与えられると、COUNT その列の値の数を返します。これをDISTINCTと組み合わせる 一意の(およびNULL以外の)値の数のみを返します。


    1. SQLServerでONUPDATECASCADEを使用して外部キー制約を作成する方法-SQLServer/TSQLチュートリアルパート79

    2. postgresqlはギャップのないシーケンスを生成します

    3. すべてのDBAが知っておくべき4つの主要なデータベース監視アクティビティ

    4. AnsibleとVagrantを使用してMariaDB10.3レプリケーションをセットアップする方法