0
SELECT
userid,
CASE
WHEN (COUNT(CASE
WHEN onlinesportsgamewagers != 0
THEN 1
ELSE null
END)
+ COUNT(CASE
WHEN depositmade_amt != 0
THEN 1
ELSE null
END)) >= 10
THEN "VIP"
ELSE "NON-VIP"
END as VIPcheck
FROM
player_activity
WHERE
userid = 2023410
GROUP BY
year(txndate), month(txndate)
このクエリは、各月のユーザーのVIPステータスを決定します。SQLクエリで条件を使用する方法
最終的には、ユーザーが少なくとも3か月間(現在の月を含む)にVIPステータスを取得したかどうかを判断するクエリが必要です。当面はユーザー2023410のみですが、最終的にはこれをデータベース全体に対して実行したいと考えています。
したがって私の最終的な出力は次のようになります。
ユーザ - VIPcheck(3つの異なるヶ月W /アクティブ状態)
(ユーザIDごとに1行)
HAVING COUNT(CASE WHEN (COUNT(CASE WHEN onlinesportsgamewagers != 0
THEN 1
ELSE null
END)
+ COUNT(CASE WHEN depositmade_amt != 0
THEN 1
ELSE null
END)) >= 10
THEN 1
ELSE 0
END)
は上記有するステートメントを試みたが、しかしそれはうまくいかなかった。助言がありますか?
こんにちは。あなたの質問はうまくいくようでした。しかし、SELECTセクションではなくFROMセクションになぜ[1人のユーザーのVIPステータス]を入れるのかわかりません。 – eddd83
@ eddd83。 。 。私はコメントを完全に理解していませんが、このクエリは2つの集計を行う必要があります。したがって、 'FROM'節にサブクエリがあります。 –