聚合列的别名

时间:2019-04-18 19:50:43

标签: kotlin orm kotlin-exposed

我想使用Kotlin Exposed获取一列的平均值。

object MyTable: IntIdTable("MyTable") {
    val score = integer("score")

val result = MyTable.slice(
        MyTable.score.avg().alias("avg_points")
).first()

如何获得结果?

对于普通列,我会使用

result[MyTable.score]

但是现在它是一个带有别名的集合。我尝试过

result["avg_points"]

但是失败了。我在ResultRow上看不到许多公共方法。

1 个答案:

答案 0 :(得分:1)

尝试一下。 首先将平均值保存到变量中

val avgColumn = MyTable.score.avg().alias("avg_points")

然后得到结果

val result = MyTable.slice(
                avgColumn
        ).selectAll().first()

val avg = result[avg]