SQL での異なる粒度のフラグ
P粉824889650
P粉824889650 2024-02-25 21:48:26
0
1
327

私はまだ SQL の使用方法を学んでいるので、私が尋ねている質問は、一部の人にとっては簡単かもしれないことをお伝えしたいと思います。

SAMPLE という列と BATCH という列があるとします。さらに、BATCH には SAMPLE が含まれており、何らかの理由で SAMPLE 列 (SAMPLE_FLG) にリンクされたタグがあります。

BATLCH_FLG は、バッチに含まれる少なくとも 1 つのサンプルが 1 としてマークされていることを示すために使用されます。

このシナリオは、このサンプル画像または以下の表で視覚化できます:

リーリー

SQL クエリを使用して BATCH_FLG 列の各バッチに 1 を取得するにはどうすればよいですか? つまり、バッチごとに 1 というラベルが付けられたサンプルが複数ある場合でも、1 を複数回使用すべきではないということです (サンプル画像の最後の 3 行)。

BATCH_FLG 列内の 1 の位置は重要ではありません。

助けていただければ幸いです。 ありがとう。

P粉824889650
P粉824889650

全員に返信(1)
P粉420958692

ROW_NUMBER() を使用すると、必要な結果を生成できます。例えば:###

t.*を選択してください、 row_number() over(サンプルごとのバッチオーダーによる分割) = 1の場合 then 1 else 0 バッチ_flg として終了 t
から
いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート