Mysql Clojure+;Korma-带IF条件的求和聚合查询
sum if在科尔马如何工作 下面是示例查询Mysql Clojure+;Korma-带IF条件的求和聚合查询,mysql,clojure,korma,Mysql,Clojure,Korma,sum if在科尔马如何工作 下面是示例查询 SELECT SUM(if(items.quantities > 1, 1, 0)) AS multiples FROM items; 我用Korma提供的raw exec得到了这个。但是,我很想知道如何用Korma语法编写这个 如果是一个特定于供应商的功能,我已经尝试查看了,因此我怀疑它是否会得到支持 您可能更幸运地将查询转换为与供应商无关的内容,并使用它 此查询: SELECT SUM(if(items.quantities > 1
SELECT SUM(if(items.quantities > 1, 1, 0)) AS multiples FROM items;
我用Korma提供的raw exec得到了这个。但是,我很想知道如何用Korma语法编写这个
如果是一个特定于供应商的功能,我已经尝试查看了
,因此我怀疑它是否会得到支持
您可能更幸运地将查询转换为与供应商无关的内容,并使用它
此查询:
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]}))
我会用这个:
(select items
(fields (raw "SUM(if(items.quantities > 1, 1, 0)) AS multiples"))