bigqueryには100列以上のテーブルがあり、70万以上の行があります。私は列のいずれかに値 'FINISHED'が含まれている行を抽出するためのクエリを書くことができるかどうかを調べたいと思います。以下はBigquery列に 'FINISHED'が含まれているテーブルから選択
0
A
答えて
1
BigQueryの標準SQL はあなたのために良いスタートであるべきです:)
#standardSQL
SELECT <columns to output>
FROM yourTable AS t
WHERE REGEXP_CONTAINS(LOWER(TO_JSON_STRING(t)), 'finished')
あなたがテストすることができます/ダミーデータ以下
#standardSQL
WITH yourTable AS (
SELECT 'a' AS x, 'b' AS y, 'c' AS z UNION ALL
SELECT 'finished', '', '' UNION ALL
SELECT '', 'Bigquery Select from table where any column contains "FINISHED"','' UNION ALL
SELECT '', '', 'aaa' UNION ALL
SELECT 'finished', 'bbb', 'finished'
)
SELECT *
FROM yourTable AS t
WHERE REGEXP_CONTAINS(LOWER(TO_JSON_STRING(t)), 'finished')
でそれで遊ぶの更新
注:少なくとも1つの列名の一部として検索語を指定した場合、上記のようにすべての行が返されます。これを解決するために - あなたはもっとたとえば
コーディング少しを投資する必要があるだろう、(レコードまたは反復なしで)簡単なスキーマのために、これはあなたが以下の
でこれをテストすることができ#standardSQL
SELECT <columns to output>
FROM yourTable AS t
WHERE (SELECT COUNTIF(SPLIT(zzz, ':')[SAFE_OFFSET(1)] LIKE '%finished%')
FROM UNNEST(SPLIT(SUBSTR(LOWER(TO_JSON_STRING(t)),2,LENGTH(TO_JSON_STRING(t))-2))) AS zzz
) > 0
だろう
#standardSQL
WITH yourTable AS (
SELECT 'a' AS x, 'b' AS y, 'c' AS col_finished UNION ALL
SELECT 'finished', '', '' UNION ALL
SELECT '', 'Bigquery Select from table where any column contains "FINISHED"','' UNION ALL
SELECT '', '', 'aaa' UNION ALL
SELECT 'finished', 'bbb', 'finished'
)
SELECT *
FROM yourTable AS t
WHERE (SELECT COUNTIF(SPLIT(zzz, ':')[SAFE_OFFSET(1)] LIKE '%finished%')
FROM UNNEST(SPLIT(SUBSTR(LOWER(TO_JSON_STRING(t)),2,LENGTH(TO_JSON_STRING(t))-2))) AS zzz
) > 0
+0
面白い、ありがとう! – Daniel
関連する問題
- 1. テーブルに含まれていない選択値
- 2. 列に文字列が含まれている行を選択する方法
- 3. 異なるテーブルから列を選択
- 4. 2つの列のいずれかに値リストの値が含まれているテーブルから一致する行を選択してください
- 5. 特定のテーブルに識別可能な列が含まれていない複数のテーブルからデータを選択しますか?
- 6. BigQueryテーブルから特定のレコードを選択するにはどうすればよいですか?
- 7. 特定の列を含むすべてのテーブルから行を選択
- 8. 要素がドロップダウンメニューから選択されていますが、jQueryから選択されていません。
- 9. SQL:別のテーブルから列の値に基づいて選択する列
- 10. SQL Serverテーブルにない配列から値を選択する
- 11. pandas.HDFStoreテーブルから列を選択
- 12. linqの特定のアイテムが含まれていないリストから選択
- 13. html5キャンバスには色の選択が含まれています
- 14. コンボボックスにテーブルから選択した値がリストされていません
- 15. 名前に日付が含まれているファイル名の配列から特定のファイル名を選択
- 16. テーブルから選択(キーワード)phpmyadmin
- 17. SQL:他のテーブルに基づいてテーブルから選択
- 18. MySQLテーブル1からSUMを選択し、結合されているSUMフォームテーブル2を選択します。
- 19. C#Xml選択ノードが含まれていますinnertextにはテキストが含まれています
- 20. BigQuery:ネストされたレコードで選択からテーブルに追加する( 'Tablename selectに挿入')
- 21. 別のテーブルから選択した結果に基づいて1つのテーブルから選択
- 22. テーブルから数値を含むtdを選択してください
- 23. テーブルから選択します。x = y
- 24. ms SQLサーバーのテーブルから関連アイテムの数を含む列を選択
- 25. 別のテーブルにないテーブルからレコードを選択する
- 26. データベースに含まれている単語を選択
- 27. mySQLのさまざまなテーブルから列を選択
- 28. 配列に特定の文字列が含まれているかどうかを確認してから、その項目を選択してください
- 29. テーブルから列をランダムに選択する方法
- 30. 別のテーブルから条件を選択してデータを選択
私はこれが可能ではないと思います。 – Daniel
@ダニエル - 確かにそれは可能です:o)BigQueryと - 回答を参照 –
あなたは低レートです。 SOの重要な点 - 投稿された回答の左側のチェックボックスの下にあるチェックマークを使用して、「受け入れられた回答をマークする」ことができます。重要な理由については、http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work#5235を参照してください。答えに投票することも重要です。役に立った答えを投票してください。 ...誰かがあなたの質問に答えるときに何をすべきかを調べることができます - http://stackoverflow.com/help/someone-answers。これらの単純なルールに従えば、あなた自身の評判スコアを上げると同時に、私たちはあなたの質問に答えるために動機づけることができます:o)考慮してください! –