Как получить последнее (x) количество записей в соответствии с полем даты даты. с использованием библиотеки Slick, Scala и JodaTime? как следующий код, нужно использовать Последнее (x) определение для объяснения вопроса.Как выбрать самые последние записи из таблицы DateTime в Slick, вложенным запросом
import org.joda.time._
import com.github.tototoshi.slick.PostgresJodaSupport._
def last(x: Int): DateTime=???
val callInfo = callTable.filter(_.calltime >= last(x))
Возможно ли реализовать для следующего метода что-то вроде следующего? что целью привести в вложенный запрос
def last(x: Int) = {
callTable.sortBy(_.calltime.desc).take(x).sortBy (_.calltime.asc).take(1).map{ _.calltime}
}
это возвращает запрос [Rep [Option [DateTime]], опция [DateTime], Seq] не DateTime !!
Я ценю ваш правильный ответ, но отвечая на ваш вопрос, я хочу реализовать что-то наподобие \t def last (x: Int) = { callTable.sortBy (_. calltime.desc) .take (x) .sortBy (_.calltime.asc) .take (1) .map {_.calltime} \t} кишка, чтобы получить дату. Время для сравнения возможно. – ALMEK
@ALMEK Я думаю, что неправильно понял ваш вопрос. Что такое x в вашем примере? И каков тип столбца в таблице db? – nmat
Прошу прощения, я, возможно, не уточнил, Я хочу, чтобы скомпилировать во вложенный запрос, столбец DateTime и x есть Int, как вы ожидали правильно – ALMEK