私のデータの行は次のようになります
[someId, someBool, someInt]
someInt を集計する方法を探しています (array
具体的に入力するため)。
GROUP BY 句を使用してsomeId
フィールドごとにグループ化すると、すべてのsomeInt
使用を集計できARRAY_AGG
ますが、行のみを含める必要がありますsomeBool=TRUE
。これに正しい方法でアプローチするにはどうすればよいですか?
PS:いくつかのブール値が好きでsomeBool
、毎回異なる配列に出力したいことに注意することは適切かもしれません
あなたは使うことができARRAY_AGG
てIGNORE NULLS
、例えば:
ARRAY_AGG(IF(someBool IS NOT TRUE, NULL, someId) IGNORE NULLS)
これsomeBool
は、true のID のみを集計します。条件で使用するブール列が複数ある場合は、AND
それらを一緒に使用するCASE WHEN ...
かNULL
、値を除外するために生成する他の種類の条件を使用できます。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加