org.jooq
Interface SelectLimitStep

All Superinterfaces:
Adapter, Attachable, FieldLike, FieldProvider, Query, QueryPart, ResultQuery<Record>, Select<Record>, SelectFinalStep, SelectForUpdateStep, Serializable, TableLike<Record>
All Known Subinterfaces:
SelectConditionStep, SelectConnectByConditionStep, SelectConnectByStep, SelectFromStep, SelectGroupByStep, SelectHavingConditionStep, SelectHavingStep, SelectJoinStep, SelectOnConditionStep, SelectOrderByStep, SelectSelectStep, SelectStartWithStep, SelectWhereStep

public interface SelectLimitStep
extends SelectForUpdateStep

This type is used for the Select's DSL API when selecting generic Record types.

Example:

 -- get all authors' first and last names, and the number
 -- of books they've written in German, if they have written
 -- more than five books in German in the last three years
 -- (from 2011), and sort those authors by last names
 -- limiting results to the second and third row

   SELECT T_AUTHOR.FIRST_NAME, T_AUTHOR.LAST_NAME, COUNT(*)
     FROM T_AUTHOR
     JOIN T_BOOK ON T_AUTHOR.ID = T_BOOK.AUTHOR_ID
    WHERE T_BOOK.LANGUAGE = 'DE'
      AND T_BOOK.PUBLISHED > '2008-01-01'
 GROUP BY T_AUTHOR.FIRST_NAME, T_AUTHOR.LAST_NAME
   HAVING COUNT(*) > 5
 ORDER BY T_AUTHOR.LAST_NAME ASC NULLS FIRST
    LIMIT 2
   OFFSET 1
      FOR UPDATE
       OF FIRST_NAME, LAST_NAME
       NO WAIT
 
Its equivalent in jOOQ
 create.select(TAuthor.FIRST_NAME, TAuthor.LAST_NAME, create.count())
       .from(T_AUTHOR)
       .join(T_BOOK).on(TBook.AUTHOR_ID.equal(TAuthor.ID))
       .where(TBook.LANGUAGE.equal("DE"))
       .and(TBook.PUBLISHED.greaterThan(parseDate('2008-01-01')))
       .groupBy(TAuthor.FIRST_NAME, TAuthor.LAST_NAME)
       .having(create.count().greaterThan(5))
       .orderBy(TAuthor.LAST_NAME.asc().nullsFirst())
       .limit(2)
       .offset(1)
       .forUpdate()
       .of(TAuthor.FIRST_NAME, TAuthor.LAST_NAME)
       .noWait();
 
Refer to the manual for more details

Author:
Lukas Eder

Method Summary
 SelectOffsetStep limit(int numberOfRows)
          Add a LIMIT clause to the query If there is no LIMIT or TOP clause in your RDBMS, this may be simulated with a ROW_NUMBER() window function and nested SELECT statements.
 SelectForUpdateStep limit(int offset, int numberOfRows)
          Add a LIMIT clause to the query Note that some dialects do not support bind values at all in LIMIT or TOP clauses!
 SelectForUpdateStep limit(int offset, Param<Integer> numberOfRows)
          Add a LIMIT clause to the query using named parameters Note that some dialects do not support bind values at all in LIMIT or TOP clauses!
 SelectOffsetStep limit(Param<Integer> numberOfRows)
          Add a LIMIT clause to the query using named parameters Note that some dialects do not support bind values at all in LIMIT or TOP clauses!
 SelectForUpdateStep limit(Param<Integer> offset, int numberOfRows)
          Add a LIMIT clause to the query using named parameters Note that some dialects do not support bind values at all in LIMIT or TOP clauses!
 SelectForUpdateStep limit(Param<Integer> offset, Param<Integer> numberOfRows)
          Add a LIMIT clause to the query using named parameters Note that some dialects do not support bind values at all in LIMIT or TOP clauses!
 
Methods inherited from interface org.jooq.SelectForUpdateStep
forShare, forUpdate
 
Methods inherited from interface org.jooq.SelectFinalStep
getQuery
 
Methods inherited from interface org.jooq.Select
except, getSelect, intersect, union, unionAll
 
Methods inherited from interface org.jooq.ResultQuery
bind, bind, fetch, fetch, fetch, fetch, fetch, fetch, fetch, fetch, fetch, fetch, fetchAny, fetchArray, fetchArray, fetchArray, fetchArray, fetchArray, fetchArray, fetchArray, fetchArray, fetchArray, fetchArrays, fetchInto, fetchInto, fetchInto, fetchLater, fetchLater, fetchLazy, fetchLazy, fetchMany, fetchMap, fetchMap, fetchMaps, fetchOne, fetchOne, fetchOne, fetchOne, fetchOne, fetchOne, fetchOne, fetchOne, fetchOne, fetchOne, fetchOneArray, fetchOneMap, fetchResultSet, getRecordType, getResult
 
Methods inherited from interface org.jooq.Query
execute, getBindValues, getParam, getParams, getSQL, getSQL
 
Methods inherited from interface org.jooq.Attachable
attach
 
Methods inherited from interface org.jooq.Adapter
internalAPI
 
Methods inherited from interface org.jooq.TableLike
asTable, asTable
 
Methods inherited from interface org.jooq.FieldLike
asField, asField
 
Methods inherited from interface org.jooq.FieldProvider
getField, getField, getField, getFields, getIndex
 

Method Detail

limit

SelectOffsetStep limit(int numberOfRows)
Add a LIMIT clause to the query

If there is no LIMIT or TOP clause in your RDBMS, this may be simulated with a ROW_NUMBER() window function and nested SELECT statements.

This is the same as calling limit(int, int) with offset = 0, or calling .limit(numberOfRows).offset(0)


limit

SelectOffsetStep limit(Param<Integer> numberOfRows)
Add a LIMIT clause to the query using named parameters

Note that some dialects do not support bind values at all in LIMIT or TOP clauses!

If there is no LIMIT or TOP clause in your RDBMS, or the LIMIT or TOP clause does not support bind values, this may be simulated with a ROW_NUMBER() window function and nested SELECT statements.

This is the same as calling limit(int, int) with offset = 0, or calling .limit(numberOfRows).offset(0)


limit

SelectForUpdateStep limit(int offset,
                          int numberOfRows)
Add a LIMIT clause to the query

Note that some dialects do not support bind values at all in LIMIT or TOP clauses!

If there is no LIMIT or TOP clause in your RDBMS, or if your RDBMS does not natively support offsets, this is simulated with a ROW_NUMBER() window function and nested SELECT statements.


limit

SelectForUpdateStep limit(int offset,
                          Param<Integer> numberOfRows)
Add a LIMIT clause to the query using named parameters

Note that some dialects do not support bind values at all in LIMIT or TOP clauses!

If there is no LIMIT or TOP clause in your RDBMS, or the LIMIT or TOP clause does not support bind values, or if your RDBMS does not natively support offsets, this may be simulated with a ROW_NUMBER() window function and nested SELECT statements.


limit

SelectForUpdateStep limit(Param<Integer> offset,
                          int numberOfRows)
Add a LIMIT clause to the query using named parameters

Note that some dialects do not support bind values at all in LIMIT or TOP clauses!

If there is no LIMIT or TOP clause in your RDBMS, or the LIMIT or TOP clause does not support bind values, or if your RDBMS does not natively support offsets, this may be simulated with a ROW_NUMBER() window function and nested SELECT statements.


limit

SelectForUpdateStep limit(Param<Integer> offset,
                          Param<Integer> numberOfRows)
Add a LIMIT clause to the query using named parameters

Note that some dialects do not support bind values at all in LIMIT or TOP clauses!

If there is no LIMIT or TOP clause in your RDBMS, or the LIMIT or TOP clause does not support bind values, or if your RDBMS does not natively support offsets, this may be simulated with a ROW_NUMBER() window function and nested SELECT statements.



Copyright © 2012. All Rights Reserved.