GitHubのWebページでリポジトリ内のファイルに含まれる文字列をGrep(あいまい検索)する方法です。 Grepしたい まじまじとコードを見始めるとGrepを使いたくなる時がありますが、Go to…
Jetbrains Exposed の集約関数の使い方まとめです。
GROUP BY
group化対象を指定します。
StarWarsFilms .slice(StarWarsFilms.sequelId.count(), StarWarsFilms.director) .selectAll() .groupBy(StarWarsFilms.director)
集約関数
COUNT
件数をカウントします。
StarWarsFilms .slice(StarWarsFilms.sequelId.count(), StarWarsFilms.director) .selectAll() .groupBy(StarWarsFilms.director)
SUM
値を合計します。
StarWarsFilms .slice(StarWarsFilms.sequelId.sum(), StarWarsFilms.director) .selectAll() .groupBy(StarWarsFilms.director)
MAX
最大値を取得します。
StarWarsFilms .slice(StarWarsFilms.sequelId.max(), StarWarsFilms.director) .selectAll() .groupBy(StarWarsFilms.director)
MIN
最小値を取得します。
StarWarsFilms .slice(StarWarsFilms.sequelId.min(), StarWarsFilms.director) .selectAll() .groupBy(StarWarsFilms.director)
AVERAGE
平均値を取得します。
StarWarsFilms .slice(StarWarsFilms.sequelId.average(), StarWarsFilms.director) .selectAll() .groupBy(StarWarsFilms.director)
CASE
SQLのCASE文を使用し、集約関数に条件を追加します。
例: directorがsampleのデータを件数を取得する
import org.jetbrains.exposed.sql.Case import org.jetbrains.exposed.sql.Expression import org.jetbrains.exposed.sql.IntegerColumnType import org.jetbrains.exposed.sql.Sum import org.jetbrains.exposed.sql.alias import org.jetbrains.exposed.sql.intParam val summary = Expression.build { Sum(Case() .When(StarWarsFilms.director eq "sample", intParam(1) .Else(intParam(0)), IntegerColumnType() ).alias("summary") } StarWarsFilms .slice( summary, StarWarsFilms.director) .selectAll() .groupBy(StarWarsFilms.director)
コメントを書く