ことがSELECT COUNT(*)
クエリを生成しますので、あなたが本当にSELECT type, COUNT(*)
クエリをしたいときは、この場合にはselectCount()
を使用することはできません。
// Assuming this static import:
import static org.jooq.impl.DSL.*;
Map<String, Integer> map1 =
ctx.select(BOOKTABLE.TYPE, count())
.from(BOOKTABLE)
.groupBy(BOOKTABLE.TYPE)
.fetchMap(BOOKTABLE.TYPE, count());
または::
Map<String, Record2<String, Integer>> map2 =
ctx.select(BOOKTABLE.TYPE, count())
.from(BOOKTABLE)
.groupBy(BOOKTABLE.TYPE)
.fetchMap(BOOKTABLE.TYPE);
または:
Map<String, List<Integer>> map3 =
ctx.select(BOOKTABLE.TYPE, count())
.from(BOOKTABLE)
.groupBy(BOOKTABLE.TYPE)
.fetchGroups(BOOKTABLE.TYPE, count());
ここ
は、クエリの外に取得しようとしているどのような種類に応じて、それをする方法はいくつかの方法、あり
または
Map<String, Result<Record2<String, Integer>>> map4 =
ctx.select(BOOKTABLE.TYPE, count())
.from(BOOKTABLE)
.groupBy(BOOKTABLE.TYPE)
.fetchGroups(BOOKTABLE.TYPE);
ありがとうございました – emraldinho
@ Lukas Eder BOOKTABLE.TYPE列にNull値とEmpty値がある場合はどうなりますか? Willこのクエリは、空の値とヌル値を一緒にヌルとしてグループ化しますか? –
@vinaypatlolla:Oracleの場合:はい、同じことです。他のデータベースでは、いいえ、 'NULL'と' ''は同じものではありません。 –