org.jooq.SelectOrderByStep Maven / Gradle / Ivy
/**
* Copyright (c) 2009-2014, Data Geekery GmbH (http://www.datageekery.com)
* All rights reserved.
*
* This work is dual-licensed
* - under the Apache Software License 2.0 (the "ASL")
* - under the jOOQ License and Maintenance Agreement (the "jOOQ License")
* =============================================================================
* You may choose which license applies to you:
*
* - If you're using this work with Open Source databases, you may choose
* either ASL or jOOQ License.
* - If you're using this work with at least one commercial database, you must
* choose jOOQ License
*
* For more information, please visit http://www.jooq.org/licenses
*
* Apache Software License 2.0:
* -----------------------------------------------------------------------------
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* jOOQ License and Maintenance Agreement:
* -----------------------------------------------------------------------------
* Data Geekery grants the Customer the non-exclusive, timely limited and
* non-transferable license to install and use the Software under the terms of
* the jOOQ License and Maintenance Agreement.
*
* This library is distributed with a LIMITED WARRANTY. See the jOOQ License
* and Maintenance Agreement for more details: http://www.jooq.org/licensing
*/
package org.jooq;
import static org.jooq.SQLDialect.CUBRID;
// ...
// ...
import java.util.Collection;
import javax.annotation.Generated;
/**
* This type is used for the {@link Select}'s DSL API when selecting generic
* {@link 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
*/
public interface SelectOrderByStep extends SelectLimitStep {
// [jooq-tools] START [order-by-field-array]
/**
* Add an ORDER BY
clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
SelectSeekStep1 orderBy(Field field1);
/**
* Add an ORDER BY
clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
SelectSeekStep2 orderBy(Field field1, Field field2);
/**
* Add an ORDER BY
clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
SelectSeekStep3 orderBy(Field field1, Field field2, Field field3);
/**
* Add an ORDER BY
clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
SelectSeekStep4 orderBy(Field field1, Field field2, Field field3, Field field4);
/**
* Add an ORDER BY
clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
SelectSeekStep5 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5);
/**
* Add an ORDER BY
clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
SelectSeekStep6 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6);
/**
* Add an ORDER BY
clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
SelectSeekStep7 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7);
/**
* Add an ORDER BY
clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
SelectSeekStep8 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8);
/**
* Add an ORDER BY
clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
SelectSeekStep9 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9);
/**
* Add an ORDER BY
clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
SelectSeekStep10 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10);
/**
* Add an ORDER BY
clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
SelectSeekStep11 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11);
/**
* Add an ORDER BY
clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
SelectSeekStep12 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12);
/**
* Add an ORDER BY
clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
SelectSeekStep13 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13);
/**
* Add an ORDER BY
clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
SelectSeekStep14 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14);
/**
* Add an ORDER BY
clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
SelectSeekStep15 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15);
/**
* Add an ORDER BY
clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
SelectSeekStep16 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16);
/**
* Add an ORDER BY
clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
SelectSeekStep17 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17);
/**
* Add an ORDER BY
clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
SelectSeekStep18 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18);
/**
* Add an ORDER BY
clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
SelectSeekStep19 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field field19);
/**
* Add an ORDER BY
clause to the query.
*/
@Generated("This method was generated using jOOQ-tools")
@Support
SelectSeekStep20 orderBy(Field field1, Field field2, Field field3, Field field4, Field field5, Field field6, Field field7, Field field8, Field field9, Field field10, Field field11, Field field12, Field field13, Field field14, Field field15, Field field16, Field field17, Field field18, Field