2017-08-25 11 views
0

私はBigQueryのでクエリをやってる:BigQueryのGROUP BY機能はまだ重複を示す

SELECT id FROM [table] WHERE city = 'New York City' GROUP BY id 

奇妙な部分は、それが右隣同士に、多くの場合、重複したIDを示しています。 ID間には何も違いはありません。約500万のIDに対して合計300万行があります。だから多くの重複がありますが、それは設計によるものです。私たちは、フィルタリングによって、それだけではなく、気づいた合計の不一致が簡単に解消されると考えました。

BigQueryのGROUP BY機能が不適切に機能する理由はありますか?その価値については、データセットには約300万行があります。重複したIDの

例:

56abdb5b9a75d90003001df6 
56abdb5b9a75d90003001df6 
+0

非印刷可能など、他の文字(複数可)することができますが、コピーすることができますここにいくつかのIDを貼り付けますか? – jperelli

+0

56abdb5b9a75d90003001df6 –

+0

idという名前の列があり、その中に300万行がありますが、select文の唯一の列でグループ化すると重複がありますか?それは合わない。ここには何か他のことがあります。 idのデータ型は何ですか?これは別のクエリの一部ですか? –

答えて

3

唯一の説明は、あなたのIDがSTRINGですし、実際にこれら2つのIDが原因で目

ための「可視」であるものを前後にスペースまたは最も可能性が高いと異なっています

は、私はあなたが

SELECT REPLACE(id, ' ', '') 
FROM [table] 
WHERE city = 'New York City' 
GROUP BY 1 

別のオプションは、トラブルシューティングするために、次のようなクエリを調整することをお勧めします

SELECT id, LENGTH(id) 
FROM [table] 
WHERE city = 'New York City' 
GROUP BY 1, 2  

下回るだろうこれらのIDは、長さと同じか、されていない場合ので、あなたは見ることができます - 私の最初の仮定は、スペースについてだった - しかし、それは

+0

これを読んだとき、あなたは確かにあなたが正しいと思っていましたが、私はこのクエリを実行して、同じ数の重複で終わりました。 IDは確かに文字列です。 –

+0

EMOTICONS!それは顔文字だった!シンボルは表示されませんでしたが、元の文書に戻ったときに見つけました。ありがとう! –

+0

助けてくれてうれしいです:o)答えを投票することも検討してください!役に立った答えを投票してください。もっとたくさんあります...誰かがあなたの質問に答えるときに何をすべきかを確認することができます - http://stackoverflow.com/help/someone-answers。 –