contar filas en rollup

10/02/2006 - 13:02 por Mauro | Informe spam
Como puedo hacer para contar las filas no agrupadas en el rollup, es decir
todo menos los subtotales, sin la necesidad de hacer una subconsulta.
 

Leer las respuestas

#1 Alejandro Mesa
10/02/2006 - 15:28 | Informe spam
Mauro,

No se puede anidar funciones de grupo, osea, no puedes contar sobre un
"count", "sum", etc. Este tipo de cosas debe hacerse en la aplicacion cliente
o herramienta de reportes que uses, es mucho mas facil.

A veces debes pensar sobre lo que esta fuera de la caja. Ve si esto te sirve
de algo.

use northwind
go

select
a.customerid,
a.[year],
case when b.distinct_years is null then '' else ltrim(b.distinct_years) end
as year_cnt,
order_cnt
from
(
select
customerid,
year(orderdate) as [year],
count(orderid) as order_cnt
from
dbo.orders
group by
customerid,
year(orderdate) with rollup
) as a
left join
(
select
customerid,
count(distinct year(orderdate)) as distinct_years
from
dbo.orders
group by
customerid
) as b
on a.customerid = b.customerid and a.[year] is null
order by
case when a.customerid is null then 1 else 0 end asc,
a.customerid,
case when a.[year] is null then 1 else 0 end asc,
a.[year]
go


AMB

"Mauro" wrote:

Como puedo hacer para contar las filas no agrupadas en el rollup, es decir
todo menos los subtotales, sin la necesidad de hacer una subconsulta.



Preguntas similares