2016-04-15 1 views
-1

の累計このクエリのSQLクエリ:ユーザー

SELECT received_at as sign_up_date, 
    COUNT(DISTINCT email) AS "count" 
FROM seller_v2.users 
    GROUP BY 1 
    ORDER BY 1; 

は、次の出力を作成します。

sign_up_date    count 
2016-02-18T17:38:51.000Z  1 
2016-02-18T21:47:48.000Z  1 

各日付は、ユーザーのサインアップの日付に等しいです。私は時系列グラフを作成することができるように、実行中のユーザーの合計で新しい列を作成するにはどうすればよいですか?

+4

これはどのRDBMSですか? 'mysql'、' postgresql'、 'sql-server'、' oracle'、 'db2'のどれかを指定するタグを追加してください。 –

+0

..そして、あなたは暦日、またはあなたが現在使っているタイムスタンプでこれを欲しいですか? –

+0

申し訳ありません。レッドシフトを使う。 –

答えて

1

あなたはあなたのケースで、総実行するのと同じである行番号を表示するためのROW_NUMBER()を使用することができます(私は構文はOracleとおそらくいくつかの他のRDBMSのために同じであると信じて)SQL Serverを使用している場合:

SELECT received_at as sign_up_date, 
    ROW_NUMBER() OVER (ORDER BY received_at ASC) AS running_total 
FROM seller_v2.users; 
+0

パーフェクト。ありがとうございました。 –