SELECT src, SUM (CASE billsec % 6 WHEN 0 THEN ((( (billsec/6) *6)::float(1)/60)::float(1))::float(1) ELSE ((( ((billsec/6 +1)* 6))::float(1)/60)::float(1))::float(1) END) as minutes, sum( CASE billsec % 6 WHEN 0 THEN ((( (billsec/6) *6)::float(1)/60)::float(1) * (select rate from rates where lata = accountcode) )::float(1) ELSE ((( ((billsec/6 +1)* 6))::float(1)/60)::float(1)* (select rate from rates where lata = accountcode) )::float(1) END) as amount FROM public.cdr WHERE calldate >= '11/01/2004' and calldate < '12/01/2004' and (src like '540%') and accountcode IN ('INTRA','INTER','ONNET') and lastdata <> '' and billsec > 0 and billsec < 43200 group by src