0
標準のyyyy-mm-dd形式の列user_id
,purchase_date
およびdate
の列を持つデータテーブルがあります。商品上のユーザーのための最初の観察
この表のユーザーは、同じ月に同じ製品(および異なる製品)を複数購入するので、最初に特定の製品を購入した後、月ごとに各製品をカウントする必要がありました。
私は次のようにそれをやった:
SELECT yr, mo, COUNT(DISTINCT(CASE WHEN Product = 'product_a'
THEN user_id)) AS product_a
FROM
(
SELECT YEAR(min(purchase_date)) AS yr, MONTH(min(pruchase_date)) AS mo,
DAY(min(purchase_date)) AS dy, user_id, Product
FROM daily_purchases
GROUP BY user_id, Product
) b
GROUP BY yr, mo
ORDER BY yr, mo
これは正常に動作し、私が探しています何をキャプチャしているようです。誰にも何か提案がありますか?これについてはこれが最も適切な方法ですか?ありがとう!
そのMicrosoft SQL – windsormatic
標準のyyyy-mm-dd形式の日付列はどういう意味ですか?それを文字列として保存していますか?それは標準ではありません。日付として保存する必要があります。 –
商品を列に入れたいですか?購入した最小の日付の1つの列とその数の1つの列?それが正しい場合、これは動的ピボットのように思えます。 – fqhv