select uid,u.id,price,count(*),sum(price*count(*)) from ad_app_click_count as a left join ui_application as u on a.package=u.package where projectId=49 group by u.id;
price为单价
count(*)为数量
我想求所有的总和,但是sum(price*count(*)) 报错1111 - Invalid use of group function
如果直接sum(price)是不报错的,大佬们,请指点一下

解决方案 »

  1.   

    sum(price) 不就是总额吗?或者 price * count(*) 就是总额,你再总额求一次和,这个结果表示的是什么呀?
      

  2.   

    select uid,u.id,price,count(*),sum(price) as a1,count(*) as a2,a1*a2 as a3 from ad_app_click_count as a left join ui_application as u on a.package=u.package where projectId=49 group by u.id;
      

  3.   

    好像不对吧,我的price是不一样的,如果按照楼上的那种算法错了例如:
               水果     单价         销量          price *count(*)
               橘子       2          50              100
              苹果       3          30              90
     我要求的100+90=190
                
      

  4.   

    贴建表及插入记录的SQL,及要求结果出来看看
      

  5.   

     水果 单价 销量 price *count(*)
     橘子  2   50      100
     苹果  3   30        90
     
    我要求的100+90=190就是这样的!
      

  6.   

    select uid,u.id,price,count(*),price*count(*)
    from ad_app_click_count as a left join ui_application as u 
    on a.package=u.package 
    where projectId=49 
    group by u.id with rollup;
      

  7.   

     (不要高估你的汉语表达能力或者我的汉语理解能力)
       建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
       
       1. 你的 create table xxx .. 语句
       2. 你的 insert into xxx ... 语句
       3. 结果是什么样,(并给以简单的算法描述)
       4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。