sum-if は Korma でどのように機能しますか?
これがサンプルクエリです
SELECT SUM(if(items.quantities > 1, 1, 0)) AS multiples FROM items;
これは、Korma が提供する raw-exec で動作するようになりました。しかし、これをコルマ構文で書く方法を知りたいです。
sum-if は Korma でどのように機能しますか?
これがサンプルクエリです
SELECT SUM(if(items.quantities > 1, 1, 0)) AS multiples FROM items;
これは、Korma が提供する raw-exec で動作するようになりました。しかし、これをコルマ構文で書く方法を知りたいです。
IF
ベンダー固有の機能なので、サポートされるとは思えません。
クエリをベンダーに依存しないものに変換し、代わりにそれを使用する方がよいかもしれません。
このクエリ:
SELECT SUM(if(items.quantities > 1, 1, 0)) AS multiples FROM items;
次のものと同等です。
SELECT count(*) AS multiples FROM items WHERE quantities > 1;
これは、次の korma 式に変換されます。
(select items
(aggregate (count :*) :multiples)
(where {:quantities [> 1]}))