目標をグループ内のすべての行を更新する - ユーザ毎に更新すべてのレコードをそのユーザーの最初のレコードの値とSQLiteの:最初の行からの値と
背景 - 私はポストプロダクションデータベースを持っている(すなわち、私ができますデータのキャプチャ方法は変更されません)。これは12ヶ月以上のすべてのユーザー操作のログです。分析の目的で、各行に、そのユーザーのデータベースの最初の外観の月(yyyy-mm)をタグ付けしたいとします。新しいフィールド(first_use)は、そのユーザーの最初のレコードの既存のフィールド(月)から取得されます。データベース内の最初の行を選択
が簡単な部分である:
SELECT month,user_email, MIN(month) as first_month
FROM table
GROUP BY user_email
これは私のテーブル内の各ユーザのための最初の行(最初のトランザクション)を与えます。
私の質問は、UPDATE文を書く方法です。私はこのような何かをしようとすると:
UPDATE table set first_use = (
SELECT MIN(month) as first_month
FROM table
GROUP BY user_email)
は、すべてのfirst_useのフィールドが同じ日付(表中の最も早い日付)が含まれています。グループ内のすべてのレコードに適用されるように更新プログラムを取得するにはどうしたらよいですか?
[相関サブクエリ](https://en.wikipedia.org/wiki/Correlated_subquery)を使用してください。 –
UPDATEコンテキストでこれを使用する方法を教えてもらえますか? – globalSchmidt