2017-11-30 15 views
0

MS Excelが処理できる以上の行を返すクエリがあるので(200万)、Teradataを複数のExcelタブにエクスポートする方法や、クエリの結果が上がり、毎回より管理しやすいチャンクだけを取得できるようにクエリを実行できますか?Teradata SQL - Very Large Pulls

私はプルの所定の部分を返しますTOPSAMPLEのようなコマンドがある知っているが、私はロジックがクエリをランク付けしてから返す、を言うことであろうものには不明ですTOP 100000を入力してから同じ/類似のクエリをもう一度実行しますが、今度は100001 - 200000を返し、その後は200001 - 300000などを返します。

ヒントをお聞かせください。私はテキストCSVに書き出すことができますが、TeradataがExcelでうまくいく方法を見つけ出すことができれば間違いなく簡単になるはずです。ありがとう!

答えて

1

ROW_NUMBER()を使用して、結果セットの各行に「ID」値を割り当て、必要なチャンクで結果を取得できます。ような何か:

SELECT col1, col2, ... 
FROM MyTable 
QUALIFY ROW_NUMBER() OVER(ORDER BY Unique_Col) BETWEEN <Start_Number> AND <End_Number> 

はちょうどので、TBEのROW_NUMBER関数は、クエリを実行するたびに同じ順序付けを適用するORDER BYでユニークな列または列を使用してください。

これは、クエリ実行の間に結果セット内の行に変更が加えられた場合(つまり、追加された行または削除された行)は考慮されていません。それが問題であれば、最初に行を一時表にコピーしてから、一時表に対して問合せを実行してください。

+0

ありがとう、それは私が探していたものです!非常に感謝します。 :) – ender777

+0

いいえprob bob :)。 – ravioli