テーブルがあります - DemoReport
- 以下のキーのセットでテーブルを作成しましょう。重複したレコードを特定し、それらのフラグを更新してください
YearOfGeneration
WeekOfGeneration
Key3
Key4
最新のレコードを示すフラグの1つの以上の列があります。この列はキーの一部ではありません。このフラグが真の場合、特定のレコードが最新のものです。 レコードがコードによって作成されると、デフォルトではこのフラグはtrueに設定されます。 Key3
とKey4
が同じである、とYearOfGeneration
とWeekOfGeneration
が最新であるべき時に任意のレコードが最新としてマークする必要があります
| *YearOfGeneration* | *WeekOfGeneration* | *Key3* | *Key4* | *Latest*
| 2017 | 2 | Key3Sample1 | Key4Sample1 | 1
| 2017 | 3 | Key3Sample1 | Key4Sample1 | 1
:
サンプルレコードは次のようになります。上の例では、2番目のレコードは最新のフラグをtrueに設定し、最初にfalseにする必要があります。
要件最新のものでないレコードに '最新の'フラグを設定しないようにするために、レコードを識別して更新する必要があります。
誰かがSQLの書き方を教えてください。
なぜ最新の行がテーブルそのものの情報を保存したいのですか。これは、ビジネス要件に応じて、「最新の」行を検出するビューまたはクエリの一部である必要があります。我々は通常、集計結果をOLTPシステムのテーブルに格納しません。 –