[英]Scala scalikejdbc select query to return a map
I have a query that does some aggregations that looks like this 我有一个查询,它做一些看起来像这样的聚合
override def getMinMax(products: Seq[Product]): List[(String, BigDecimal, BigDecimal)] = {
val ids = productsToSqlString(products)
DB readOnly { implicit session =>
sql"""SELECT id, min(p_discount_rate), max(p_discount_rate)
|FROM ${Product.table}
|WHERE p_config_sku IN ${configSkus} AND p_is_deleted IS FALSE
|GROUP BY id
""".stripMargin
.map(rs => rs.string(1) -> (BigDecimal(rs.string(2)), BigDecimal(rs.string(3)))).toMap.list.apply
}
I would like this to return a map of Ids to tuples of bigdecimals (discount rates) I am not really sure how to achieve that 我想将Ids的地图返回给bigdecimals的元组(折扣率),但我不确定如何实现
Best. 最好。
import scala.collection.breakOut
val myData: List[(String, BigDecimal, BigDecimal)] = ???
val myMap: Map[String, (BigDecimal, BigDecimal)] = myData.map{ case (id, t1, t2) => id -> (t1 -> t2) }(breakOut)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.