私はまだ SQL の使用方法を学んでいるので、私が尋ねている質問は、一部の人にとっては簡単かもしれないことをお伝えしたいと思います。
SAMPLE という列と BATCH という列があるとします。さらに、BATCH には SAMPLE が含まれており、何らかの理由で SAMPLE 列 (SAMPLE_FLG) にリンクされたタグがあります。
BATLCH_FLG は、バッチに含まれる少なくとも 1 つのサンプルが 1 としてマークされていることを示すために使用されます。
このシナリオは、このサンプル画像または以下の表で視覚化できます:
リーリーSQL クエリを使用して BATCH_FLG 列の各バッチに 1 を取得するにはどうすればよいですか? つまり、バッチごとに 1 というラベルが付けられたサンプルが複数ある場合でも、1 を複数回使用すべきではないということです (サンプル画像の最後の 3 行)。
BATCH_FLG 列内の 1 の位置は重要ではありません。
助けていただければ幸いです。 ありがとう。
t.*を選択してください、 row_number() over(サンプルごとのバッチオーダーによる分割) = 1の場合 then 1 else 0 バッチ_flg として終了 tROW_NUMBER()
を使用すると、必要な結果を生成できます。例えば:###