diff --git a/jOOQ-test/src/org/jooq/test/jOOQAbstractTest.java b/jOOQ-test/src/org/jooq/test/jOOQAbstractTest.java
index 8b8fcf3130..a04662c8b3 100644
--- a/jOOQ-test/src/org/jooq/test/jOOQAbstractTest.java
+++ b/jOOQ-test/src/org/jooq/test/jOOQAbstractTest.java
@@ -2176,6 +2176,12 @@ public abstract class jOOQAbstractTest<
assertEquals("test", result.get(0).getValue(f3));
}
+ @Test
+ public void testSelectCountQuery() throws Exception {
+ assertEquals(4, create().selectCount().from(TBook()).fetchOne(0));
+ assertEquals(2, create().selectCount().from(TAuthor()).fetchOne(0));
+ }
+
@Test
public void testSelectQuery() throws Exception {
SelectQuery q = create().selectQuery();
diff --git a/jOOQ/src/main/java/org/jooq/impl/Factory.java b/jOOQ/src/main/java/org/jooq/impl/Factory.java
index b7a7c47dfb..5d9dbee087 100644
--- a/jOOQ/src/main/java/org/jooq/impl/Factory.java
+++ b/jOOQ/src/main/java/org/jooq/impl/Factory.java
@@ -1028,6 +1028,26 @@ public class Factory implements Configuration {
return new SelectImpl(this).select(one());
}
+ /**
+ * Create a new DSL select statement for COUNT(*)
+ *
+ * Example:
+ *
+ * @see #one()
+ */
+ public final SelectSelectStep selectCount() {
+ return new SelectImpl(this).select(count());
+ }
+
/**
* Create a new DSL select statement.
*
+ * Factory create = new Factory();
+ *
+ * create.selectCount()
+ * .from(table1)
+ * .join(table2).on(field1.equal(field2))
+ * .where(field1.greaterThan(100))
+ * .orderBy(field2)
+ * .execute();
+ *