我試圖改寫下列SQL到滑頭:條件的總和
SELECT id
SUM(
if (spend > 0, 1, 0)
)
FROM items
GROUP by id
我當前的代碼類似於此:
items.groupBy(r => r.id).map {
case (id, group) => (id, group.map { r => if (r.spend > 0) 1 else 0 }.sum)
}
但我得到以下錯誤:
polymorphic expression cannot be instantiated to expected type; found : [R]slick.lifted.Rep[R] required: Boolean
我還試圖用filter
和length
,但沒有成功。我怎樣才能實現我的目標?
該查詢當然可以簡化,但實際上我的真正的查詢是多複雜多連接。第二種解決方案可能很有用,我會試一試。 –
好吧,我明白了:'如果r.spend> BigDecimal(0.0)然後1否則0' –
@Peter Krejci酷。它值得自我回答。 – Odomontois