#kotlin #orm #kotlin-exposed
#kotlin #orm #kotlin-открытый
Вопрос:
Я хотел бы получить среднее значение столбца, используя 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:
Попробуйте это. Сначала сохраните среднее значение в переменной
val avgColumn = MyTable.score.avg().alias("avg_points")
Затем получите результаты как таковые
val result = MyTable.slice(
avgColumn
).selectAll().first()
val avg = result[avgColumn]