我有如下查询selectfield1,filed2,count(*),sum(caseisNewWHEN0THEN0ELSE1END)asnew_count1,sum(casesourceWHEN'SomeValue'THEN0ELSE1END)asnew_count2fromTABLEwherestatus='processed'andfiled1='filed1Value'andfiled2='field2Value';此输出是包含我需要的所有值的单行。我想使用queryDSL实现相同的目的。我在QueryDSL中使用CaseBuilder,但无法在其上应用总和。QueryDsl支
SELECTDISTINCTemp_no,sum(CASEWHENisnull(PresAbs,0)='WO'THEN1ELSE0END)WO,sum(CASEWHENisnull(PresAbs,0)='WP'THEN1ELSE0END)WP,sum(CASEWHENisnull(PresAbs,0)='HL'THEN1ELSE0END)HL,sum(CASEWHENisnull(PresAbs,0)='A'THEN1ELSE0END)A,**sum(WO+WP+HL+A)**fromTRN_ATTN072013WHERECONVERT(varchar,Tdate,112)>'201
有两个表用户+--+----+|id|name|+--+----+1A2B订单+--+--------+-------+-------+|id|subtotal|created|user_id|+--+--------+-------+-------+11010000011220100000213101000003241010000051思路是获取AVG、SUM和用户最后创建的订单。SELECTusers.name,users.phone,SUM(a.subtotal),COALESCE(a.created,NULL)FROMusersLEFTJOIN(SELECTorders.id,
我有两个表:表1(a,b,c)表2(a,d,f)我想为每个b得到相应的d和f的乘积表1数据abc-------------1hello32bye4表2数据adf--------153124213223结果:你好:5*3+2*4,再见:1*3+2*3我的查询是:SELECTt1.a,t2.d*t2.fASm,SUM(m)FROMtable1ASt1,table2ASt2WHEREt1.a=t2.aGROUPBYt1.b那么这里有什么问题呢?在mysql中,我得到#1054-'fieldlist'中的未知列'm' 最佳答案 尝试:SEL
我有这样一条sql语句:selecta.id,a.valfrom...innerjoin...where...;结果我有这个:idval---------3103103109219211121121330所以你可以看到,一个id有一个值。如果我按(a.id)分组,我会得到:idval---------3109211121330我想得到的最后一个结果是总和:10+21+2+30=63。那么我怎样才能把总和作为一个结果呢?如果我做一个sum(a.val)并使用groupby(a.id)我不会得到63,我会得到每个id的总和,例如id=3->10+10+10=30。最好的问候。
我有这种方式的数据IDSUBMarks1English251Maths221Science152English162Maths202Science12等等……我如何将所有科目分数相加并给出每个ID的总分?例如,如果我选择ID=1,那么它应该显示62。 最佳答案 应该这样做:SELECTID,SUM(Marks)astotalMarksFROMMyTableGROUPBYId 关于mysql-MySql中多行的总和,我们在StackOverflow上找到一个类似的问题:
我有一个看起来像这样的数据框架:nameevent_code_0event_code_1100event_code_1110event_code_1120event_code_1120event_code_11990A1000001A0010002A0001003A0010004A0100005A0000106A0001007A0100008A1000009B00000110B00001011B00100012B01000013B10000014B00100015B00010016B01000017B000001我想合并列上的不同行:“名称”并计算事件代码。例如,数据框应该看起来像:namee
我有一个这样的表:Votes(id,person,positive_vote,negative_vote)我想按人分组,然后按每个人的总票数排序。我知道如何获得一个组的单个列的总和,但我不知道如何获得每个组的所有总和(总票数)。这是我目前所拥有的:SELECTperson,sum(positive_vote),sum(negative_vote)FROMVotesGROUPBYperson; 最佳答案 尝试,SELECTperson,sum(positive_vote)totalPositive,sum(negative_vote)
我有一个具有以下关系的数据库:有项目-人们可以购买的东西,还有user_id,有支持者-购买的人,有订单-每个订单都是Backer对Project的购买(Backer只能购买每个Project一次)。这是一个金额-显示支持者为购买项目支付了多少我需要编写以下查询-给定$user_id、$count和$sum找到所有已投资的支持者至少在$count个项目中,user_id等于$user_id并且这些项目的购买总和高于$总和。Backer::whereHas('projects',function($q)use($sum,$userId){$q->where('user_id',$user
首先这里是SQLFiddleDemo.现在你可以在fiddle中看到我有两个名为project和working的表,现在我已经对项目进行了分组,这些项目以相同的名称分组在一起,除了第二个表有_QA后缀。这意味着我已经成功实现了允许我对该项目进行分组的查询,但现在我还需要对这两个项目的计划时间求和。如果你在fiddle中看到它即将到来的1000但它必须是2500意味着project和project_QA谢谢。 最佳答案 我的尝试....:SELECTp.name,(SELECTSUM(p1.planned_hour)FROMproje