Mysql 如何使用一个条件查询对多个列求和?

Mysql 如何使用一个条件查询对多个列求和?,mysql,grails,criteria,Mysql,Grails,Criteria,例如,假设一个表“values”包含4列a、B、C和D。现在,我想添加B、C、D,其中a=10 对于单列,如下所示: def c=values.createCriteria{ eq("A",10) projections{ sum("B") } } A=10时如何加B、C和D 您可以按如下方式执行: 选择B,C,D,(B+C+D)作为A=10的值之和或 从A=10的值中选择(B+C+D)作为总和 我想这会有帮助。你可以按如下方式做: 选择B,C,D,(B+C+D)作为A=10的值之和或 从A=

例如,假设一个表“values”包含4列a、B、C和D。现在,我想添加B、C、D,其中a=10

对于单列,如下所示:

def c=values.createCriteria{
eq("A",10)
projections{
sum("B")
}
}

A=10时如何加B、C和D

您可以按如下方式执行:
选择B,C,D,(B+C+D)作为A=10的值之和
从A=10的值中选择(B+C+D)作为总和


我想这会有帮助。

你可以按如下方式做:
选择B,C,D,(B+C+D)作为A=10的值之和
从A=10的值中选择(B+C+D)作为总和


我想这会有帮助。

试试这样的方法

def c=values.createCriteria().get{
eq("A",10)
 projections{
  sum("B","b")
  sum("C","c")
  sum("D","d")
 }
 resultTransformer(AliasToEntityMapResultTransformer.INSTANCE)
}
然后您可以构建一个映射或列表[sumB:c.b,sumbC:c.c,sumD:c.d] 诸如此类的

def bcd=c.b+c.c+c.d

为了得到你的最终价值,如果这与你想要的还不接近,请道歉,但这是我从你的解释中得到的

def c=values.createCriteria().get{
eq("A",10)
 projections{
  sum("B","b")
  sum("C","c")
  sum("D","d")
 }
 resultTransformer(AliasToEntityMapResultTransformer.INSTANCE)
}
然后您可以构建一个映射或列表[sumB:c.b,sumbC:c.c,sumD:c.d] 诸如此类的

def bcd=c.b+c.c+c.d

要获得最终值,如果这与您想要的还不接近,请道歉,但这是我从您的解释中得到的,您可以在控制器中简单地这样写:

def sumList=Values.executeQuery(“从A=10的值中选择(B+C+D)作为总和”)
println(sumList)


参考链接:

您可以在控制器中这样简单地编写:

def sumList=Values.executeQuery(“从A=10的值中选择(B+C+D)作为总和”)
println(sumList)


Ref link:

如果我告诉您,它的SQL查询如下所示。。。从A=10的值中选择B+C+D bcd。。。这有帮助吗?你能告诉我如何为同样的问题编写一个条件查询吗?如果我告诉您,它的SQL查询如下所示。。。从A=10的值中选择B+C+D bcd。。。这有帮助吗?你能告诉我如何为同样的问题编写一个条件查询吗?谢谢你的帮助,但我知道如何为此编写SQL查询。我想知道如何为相同的内容编写条件查询。谢谢你的帮助,但我知道如何为此编写SQL查询。我想知道如何为相同的内容编写条件查询。