Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Count en MySql

Estas en el tema de Count en MySql en el foro de Mysql en Foros del Web. Hola, quiero hacer un Count en MySql, pero no sé como hacerlo al mismo tiempo que hago la consulta, por lo que primero cuento y ...
  #1 (permalink)  
Antiguo 01/07/2007, 14:26
 
Fecha de Ingreso: enero-2004
Mensajes: 207
Antigüedad: 20 años, 3 meses
Puntos: 1
Count en MySql

Hola, quiero hacer un Count en MySql, pero no sé como hacerlo al mismo tiempo que hago la consulta, por lo que primero cuento y después hago el SELECT.

En definitiva me gustaría juntar estas 2 consultas en una sola.

Código:
strSQL = "SELECT COUNT(*) as count FROM t1_ficha, t2_plataforma, t3_seccion, t4_genero " & _
	"WHERE t1_plataforma = t2_codigo AND t1_seccion = t3_codigo AND t1_genero = t4_codigo " &_
	"AND t1_plataforma=" & portName(x) & " ORDER BY t1_fecha DESC"


strSQL = "SELECT * FROM t1_ficha, t2_plataforma, t3_seccion, t4_genero " & _
	"WHERE t1_plataforma = t2_codigo AND t1_seccion = t3_codigo AND t1_genero = t4_codigo " &_
	"AND t1_plataforma=" & portName(x) & " ORDER BY t1_fecha DESC"
he probado haciendo "SELECT *, COUNT(*) as count FROM ..." pero así no funciona.

Muchas gracias
  #2 (permalink)  
Antiguo 17/07/2007, 19:26
axz
 
Fecha de Ingreso: mayo-2005
Mensajes: 360
Antigüedad: 18 años, 10 meses
Puntos: 10
Re: Count en MySql

Pues primero lo que buscas ... entiendo que has de estar usando algún lenguaje basado en visual basic ... talvez ASP? .... como sea ... ahí va lo que creo que quieres
Código:
strSQLCount = "( SELECT COUNT( * ) " &_
"FROM t1_ficha, t2_plataforma, t3_seccion, t4_genero " &_
"WHERE t1_plataforma = t2_codigo " &_
"AND t1_seccion = t3_codigo " &_
"AND t1_genero = t4_codigo " &_
"AND t1_plataforma = " & portName( x ) & " ) AS count "

strListaCamposTablas = "campo1, campo2, ..., campoN "

strSQL = "SELECT " & strSQLCount & ", " & strListaCamposTablas &_
" FROM t1_ficha, t2_plataforma, t3_seccion, t4_genero " & _
"WHERE t1_plataforma = t2_codigo " &_
"AND t1_seccion = t3_codigo " &_
"AND t1_genero = t4_codigo " &_
"AND t1_plataforma = " & portName( x ) &_
" ORDER BY t1_fecha DESC"
El detalle con juntar ambas consultas es que como verás tendrás que escribir cada uno de los campos que quieras que se muestre ... y en caso de que algún nombre esté duplicado, tendrás que escribir el nombre (o alias) de la tabla a la que pertenece ... espero te sirva, sino, postea y veremos como lo resolvemos de mejor manera ...

Suerte
  #3 (permalink)  
Antiguo 18/07/2007, 01:51
 
Fecha de Ingreso: enero-2004
Mensajes: 207
Antigüedad: 20 años, 3 meses
Puntos: 1
Re: Count en MySql

ok, comprendo. El concepto es que se hace el SELECT del count dentro del SELECT del query que necesitamos, entre paréntesis, no?

Y en tal caso podría poner simplemente "*" como valor de strListaCamposTablas

gracias
  #4 (permalink)  
Antiguo 18/07/2007, 08:56
axz
 
Fecha de Ingreso: mayo-2005
Mensajes: 360
Antigüedad: 18 años, 10 meses
Puntos: 10
Re: Count en MySql

Cita:
Iniciado por dblanco Ver Mensaje
se hace el SELECT del count dentro del SELECT del query que necesitamos, entre paréntesis, no?
Así es ...

Cita:
Iniciado por dblanco Ver Mensaje
en tal caso podría poner simplemente "*" como valor de strListaCamposTablas
No, desafortunadamente si listas algún campo estas obligado a listar el resto de los que quieras mostrar. En éste caso no podrás usar *, puesto que ya estas listando el campo count que obtuviste con la consulta entre paréntesis ...

Saludos ...
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 16:02.