Question

How to modify this query so that I get the results between rownum 10 and 21 for example:

   SELECT DAL_ROWNOTABLE.DAL_ID
     FROM (SELECT ticket.id AS "DAL_ID" 
          FROM ticket_table ticket 
          WHERE (ticket.type = N'I' ) AND 
        (ticket.tenant IS NULL OR
         ticket.tenant IN (SELECT tgm.tenant_id 
                           FROM tenant_group_member tgm
                           WHERE tgm.tenant_group = HEXTORAW('30B0716FEB5F4E4BB82A7B7AA3A1A42C') 
                          ) 
        )
  ORDER BY ticket.id
 ) DAL_ROWNOTABLE 
  WHERE rownum <= 21;

Any help will be appreciated.

Was it helpful?

Solution

Change rownum to row_number():

SELECT DAL_ROWNOTABLE.DAL_ID
FROM (SELECT ticket.id AS "DAL_ID",row_number() over (order by ticket_id) as seqnum
      FROM ticket_table ticket 
      WHERE (ticket.type = N'I' )AND
            (ticket.tenant IS NULL OR
            ticket.tenant IN(SELECT tgm.tenant_id 
                              FROM tenant_group_member tgm
                              WHERE tgm.tenant_group = HEXTORAW('30B0716FEB5F4E4BB82A7B7AA3A1A42C') 
                             ) 
        )
     ) DAL_ROWNOTABLE 
WHERE seqnum between 10 and 21;
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top