Foros del Web » Programando para Internet » ASP Clásico »

COUNT agrupado

Estas en el tema de COUNT agrupado en el foro de ASP Clásico en Foros del Web. hola a todos, necesito sacar una consulta que cuente los campos de cada tipo y que los sume en un grupo. es decir tengo esta ...
  #1 (permalink)  
Antiguo 01/03/2007, 06:33
 
Fecha de Ingreso: octubre-2006
Mensajes: 127
Antigüedad: 18 años, 5 meses
Puntos: 0
COUNT agrupado

hola a todos, necesito sacar una consulta que cuente los campos de cada tipo y que los sume en un grupo. es decir tengo esta consulta:
sql="SELECT EMP_ACT, Count(EMP_COD) AS Cantidad FROM gce_empresas GROUP BY EMP_ACT"

y luego tengo la misma pero con otra tabla que tiene la misma estructura que la anterior.
sql2="SELECT EMP_ACT, Count(EMP_COD) AS Cantidad FROM gce_empresas2 GROUP BY EMP_ACT"

EMP_ACT son= 1,2,3,4.....

Y lo que necesito hacer es una agrupación algo así

Ejmp: codigo 1 y2 hay un total (necesito sacar el total de los 2 código los que le ponga yo,según mis agrupaciones)

Como lo podría hacer?¿?¿?

Graciassss
  #2 (permalink)  
Antiguo 01/03/2007, 09:25
Avatar de CésarBalaguer  
Fecha de Ingreso: octubre-2006
Ubicación: en mi casa
Mensajes: 181
Antigüedad: 18 años, 6 meses
Puntos: 0
Re: COUNT agrupado

Si es por SQL puro, necesitarìas una columna adicional con el criterio de agrupamiento, o en todo caso una tabla temporal donde insertes tus resultados mas una columna adicional con el mismo criterio.

En caso de ser vìa còdigo de programaciòn, tendrìas que recorrer tu recordset e ir acumulando segùn tu criterio de agrupamiento.

En todo caso te recomendarìa hacerlo via SQL es decir tener una columna adicional ya sea en tus mismas tablas o en una tabla temporal con tu criterio de agrupamiento.
Si tu manejador de base de datos te permite el uso del SELECT CASE podrìas agregar esta columna dentro de tu mismo query.
  #3 (permalink)  
Antiguo 01/03/2007, 10:17
 
Fecha de Ingreso: octubre-2006
Mensajes: 127
Antigüedad: 18 años, 5 meses
Puntos: 0
Re: COUNT agrupado

pues la verdad esque nose como hacerlo. Hecho una nueva tabla con dos campos. uno que es el código de actividad y otro que es donde voy a contar. pero nose que seguir. estoy bastante perdida
  #4 (permalink)  
Antiguo 13/03/2007, 03:18
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 21 años, 4 meses
Puntos: 144
Re: COUNT agrupado

Si tu tabla tiene esta estructura, te funcionará el código que pusiste inicialmente:

EMP_ACT: Este campo numérico es el código de actividad.
EMP_COD: Este campo es de valores únicos, por lo que cada empresa tendrá su código (1= empresa A; 2= empresa B; 3= empresa C, etc.).

Ejemplo de tabla:

Código:
EMP_ACT EMP_COD
---------------  ----------------
1                 1
1                 2
1                 3
2                 4
3                 5
2                 6
3                 7 
Si tu tabla es similar a esa, la consulta inicial que planteaste, es correcta.

Salu2
  #5 (permalink)  
Antiguo 13/03/2007, 04:58
 
Fecha de Ingreso: octubre-2006
Mensajes: 127
Antigüedad: 18 años, 5 meses
Puntos: 0
Re: COUNT agrupado

Hola esque nose si me explico bien. Tengo las siguientes tablas
gce_empresas, gce_empresas2 (estas 2 son las mismas, tienen los mismos campos), gce_actividades.

En gce_actividades tengo
ACT_COD= codigo actividad
ACT_DES= descripcion
Ejm:
ACT_COD ACT_DES
1 Alimentación
2 Comercio
3 Servicios
4 Logistica


Y en tanto en gce_empresas como gce_empresas2 tengo:
EMP_NOM =nombre de la empresas
EMP_ACT= codigo de actividad
tengo más datos pero son direccción, etc...
Ejm:
EMP_NOM EMP_ACT
pepito s.a 1
pescados garcia 1
transportes aa 3

Y yo luego en la web unos grupos generales tengo por ejemplo:
Servicios a empresas (que agrupa logistica y servicios)
entonces tendría que hacer un contador que me sacará el número de registros que hay de la actividad de logistica y servicios.

Pero ni idea si se puede hacer???

No se si me explico bien
  #6 (permalink)  
Antiguo 13/03/2007, 05:13
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 21 años, 4 meses
Puntos: 144
Re: COUNT agrupado

Prueba con esto:
Código:
SELECT COUNT(EMP_ACT) AS total_empresas FROM gce_empresas WHERE EMP_ACT=3 OR EMP_ACT=4
Y luego...
Código:
<%response.write "Empresas de Logística y servicios: " & rs("total_empresas")%>
Salu2
  #7 (permalink)  
Antiguo 13/03/2007, 05:37
 
Fecha de Ingreso: octubre-2006
Mensajes: 127
Antigüedad: 18 años, 5 meses
Puntos: 0
Re: COUNT agrupado

Graciassss!!!!!, pero tengo una pregunta he puesto esto:
<%
sqlc="SELECT COUNT(EMP_ACT) AS total_empresas FROM gce_empresas WHERE EMP_ACT=7 OR EMP_ACT=28 OR EMP_ACT=34 OR EMP_ACT=35"
Set rsc = Server.CreateObject("ADODB.Recordset")
rsc.Open sqlc, my_conn, 3, 3%>

Porque la conexión la tengo en un include. este código lo tendré que poner por cada sección que tenga?
  #8 (permalink)  
Antiguo 13/03/2007, 06:02
Avatar de 3pies
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Desde una destilería
Mensajes: 2.584
Antigüedad: 21 años, 4 meses
Puntos: 144
Re: COUNT agrupado

Cita:
Iniciado por chikitika Ver Mensaje
[...]este código lo tendré que poner por cada sección que tenga?
Cuando hablas de "por cada sección que tenga", ¿te refieres a agrupaciones que quieras hacer, como en el caso de la agrupación de empresas de logística y servicios?. Si la respuesta es "si", entonces tendrás que generar tantas consultas como agrupaciones quieras mostrar, pero hay otra forma más sencilla de hacer eso, y es esta:

También puedes obtener una tabla, conde te salgan agrupadas la cantidad de empresas que tienes en cada categoría, como en este ejemplo, así en ua sola consulta tienes todo, y te ahorras tener que montar tantas consultas como agrupaciones quieras, porque puedes operar con los datos de la tabla:

Ejemplo de consulta que obtendrías con la siguiente consulta:

Código:
SELECT gce_actividades.ACT_DES, COUNT(gce_actividades.ACT_DES) AS total_empresas FROM gce_actividades INNER JOIN gce_empresas ON gce_empresas.EMP_ACT= gce_actividades.ACT_COD GROUP BY gce_actividades.ACT_DES
Montando un bucle do while, para que te muestre el recordset, obtendrías algo como esto:
Código:
ACT_DES     total_empresas
---------   --------------
Alimentación      8
Comercio          3
Logística         4
Servicios         5
Luego, tan solo tienes que hacer un par de sumas, por las agrupaciones que quieras, y listo.

Salu2
  #9 (permalink)  
Antiguo 13/03/2007, 06:10
 
Fecha de Ingreso: octubre-2006
Mensajes: 127
Antigüedad: 18 años, 5 meses
Puntos: 0
Re: COUNT agrupado

oK, lo entendido. Muchas gracias por toda la ayuda.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:51.