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

ケースステートメントによるグループ化

    最初に、どの列でグループ化するか、どのようにグループ化するかを知ることが重要です。 CASE STATEMENT を設定するには、そのことを知っておく必要があります。 selectステートメントの列として記述します。私たちの場合、私たちのサイトにアクセスしている電子メールのグループで、8月の初め以降に各電子メールプロバイダーが何回のクリックを占めているかを知りたいと思います。また、個々の電子メールサービスプロバイダーを他のプロバイダーと比較したいと思います。この例では、Gmailをサービスプロバイダーとして使用します。

    SELECTで ステートメント、 DATEが必要です 、 PROVIDER およびSUM CLICKSの 私たちのサイトに。これらはTESTE MAILSから入手できます。 データソースのテーブル。

    DATE 列は非常に単純です:

    "Test E Mails"."Created_Date" AS "DATE
    

    そして、 SUMを探しているので CLICKSの 、 SUMをキャストする必要があります CLICKSで機能する 列。

    SUM("Test E Mails"."Clicks") AS "CLICKS"
    

    これで、 CASE STATEMENTが表示されます。 。 PostgreSQLのドキュメントから、CASEステートメントまたは条件ステートメントは次のように配置する必要があることがわかっています。

    CASE
      WHEN condition THEN result
      [WHEN ...]
      [ELSE result]
      END
    

    私たちの最初の、そしてこの場合のみの条件は、Gmailによって提供されるすべてのメールアドレスを他のすべてのメールプロバイダーから分離することを知りたいということです。したがって、唯一の WHEN は:

    WHEN "Test E Mails"."Provider" = 'Gmail' THEN 'Gmail'
    

    また、elseステートメントは、他のすべての電子メールアドレスプロバイダーに対して「その他」になります。このCASESTATEMENTの結果のテーブル 対応するメールだけで。次のようになります:

    これらの3つの列すべてを1つのSELECTSTATEMENTに分割すると SQLクエリを作成するために必要な残りの部分を投入すると、すべてが以下の形になります。

    次に、 PIVOT DATAを追加した後 データパイプラインに足を踏み入れると、適切な形式で適切に配置されたテーブルを取得して、クリックが時間の経過とともにどのように比較されるかを示す折れ線グラフを設定します。

    Chartioを使用すると、SQLを記述せずに、データエクスプローラーとデータパイプライン機能を利用して、上記のすべてを実行できます。すべての列を取得するための基礎となるクエリを作成したら、 SUM OF CLICKSが必要になります。 、 DATE およびメールアドレス データパイプラインを使用して、SQL後にこのデータを操作できます。まず、クエリを作成しましょう。

    [クリック数の列]をメジャーボックスにドラッグし、 TOTAL SUMで集計します 列のクリック数を確認し、「CLICKS」というラベルを付け直します。

    次に、「作成日」と「プロバイダー」をディメンションボックスにドラッグし、「日付」と「メールプロバイダー」のラベルを付け直します。その後、「作成日」列を使用して、日付スパンを設定できます(または<コードを作成できます)。>場所 条項)2017-08-01以降のすべてになります。これにより、基になるクエリで必要なすべてのものが効果的に構築され、 CASE STATEMENTが作成されます。 上記のChartioのデータパイプラインで行いました。

    CASE STATEMENTを追加する パイプラインステップを使用すると、 WHENの条件を設定できます およびELSE 以前と同じように、SQL構文全体を入力する必要はありません。

    次に、元の「プロバイダー」列を非表示にして、 REORDER COLUMNSを使用した後 ステップとPIVOTDATA ステップでは、SQLモードで取得したのと同じテーブル配置を取得し、SQLモードで実行したのと同じテーブルを表示できます。

    SQLモードよりも数回クリックと手順が必要になる場合がありますが、インタラクティブモードで作成された折れ線グラフには、SQL構文の知識は必要ありません。代わりに、必要なのは、関連する原則の基本的な理解だけです。これは、SQLの知識に関係なく、Chartioがデータの力をすべての人の手に委ねるのにどのように役立っているかを示すもう1つの例です。


    1. R12.2環境のクローンを作成する方法

    2. JRubyとJDBCを使用してOracleに接続する方法

    3. Postgresqlドロップビュー

    4. SQLiteクエリ結果をテキストファイルに保存