I am new to Teradata sql and I have a query that selects over one million rows. I want to write teradata sql to select the first 500,000 rows, then the next 500,000 rows and then the last 100,000 + rows in my data set. For the first set I know I can use SELECT * FROM QRY1 ORDER BY 1 SAMPLE 500000, but to select 5000001 to 1000000, how can I do that?
Thank you in advance for any help you can provide.
Advertisement
Answer
In Teradata, you can use rank()
and qualify
:
select * from qry1 qualify on rank() over(order by id) between 5000001 and 1000000 order by id
This assumes that column id
can be use to sort the records.