sql语句之中,group by问题

来源:百度知道 编辑:UC知道 时间:2024/07/02 13:20:58
select to_char(to_date(d.taudittime, 'YYYY,MM,DD,HH24,Mi,SS'), 'yyyy'),
a.docname,
b.budgetmoney,
sum(c.nmoney),
(b.budgetmoney - sum(c.nmoney))
from bd_defdoc a,
bd_budgetdetail b,
po_praybill_b c,
po_praybill d
group by c.pk_defdoc2
having a.pk_defdoc = b.taskno
and a.pk_defdoc = c.pk_defdoc2
and c.cpraybillid = d.cpraybillid
and to_char(to_date(d.taudittime, 'YYYY,MM,DD,HH24,Mi,SS'), 'yyyy') = 2009
提示说,ora-00979:不是group by表达式..求正确语句,谢谢
回匿名,呵呵,这个我知道了
回bochm,你这个语句理论上可以,可是,我最开始设计的就是他,可是,时间太长,没看过结果呢。
回lee,我好像用的就是这个,不过,group by后还需要加上a.docname, b.budgetmoney...
谢谢大家回答我的问题......

select to_char(to_date(d.taudittime, 'YYYY,MM,DD,HH24,Mi,SS'), 'yyyy'),
a.docname,
b.budgetmoney,
sum(c.nmoney),
(b.budgetmoney - sum(c.nmoney))
from bd_defdoc a,
bd_budgetdetail b,
po_praybill_b c,
po_praybill d
where a.pk_defdoc = b.taskno
and a.pk_defdoc = c.pk_defdoc2
and c.cpraybillid = d.cpraybillid
and to_char(to_date(d.taudittime, 'YYYY,MM,DD,HH24,Mi,SS'), 'yyyy') = 2009
group by c.pk_defdoc2

没有函数过的字段全部放到group by 后面去
统计函数
如:
select a,count(a) from table group by a

select a,b,count(a) from table group by a,b

select a,count(a),avg(b) from table group by a

select to_char(to_date(d.taudittime, 'YYYY,MM,DD,HH24,Mi,SS'), 'yyyy'),
a.docname,
b.budgetmoney,
sum(c.nmoney),
(b.budgetmoney - sum(c.nmoney))
from bd_defdoc a,
bd_budgetdetail b,
po_praybill_b c,
po_pray