Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 01-02-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
problema con la consulta select count()

holas amigos del foro!!

tratare de explicar de la mejor forma y sencilla posible..trabajo con mysql.

tengo una tabla:

---------------------------------------------------
no_ped << cliente << fecha_rec_ped << status
---------------------------------------------------
0101 << fernando << 2007-01-01 << pagado
0102 << juan << 2007-01-05 << en espera
0103 << maria << 2007-01-10 << pagado
0104 << juana << 2007-01-15 << en espera
0105 << miguel << 2007-01-21 << cancelado
0106 << jose << 2007-01-24 << pagado

pues he aqui el problema, lo que quiero es que me haga una consulta que sume la cantidad de status iguales, por ejemplo:

-----------------
status << total
-----------------
cancelado << 1
en espera << 2
pagado << 3

esta es la consulta que tengo y que no me funciona he intentado varias formas y no he podido dar con ella:


Código SQL [-]
select count(status) from reg_pedidos where fecha_rec_ped>= '$año-$mes-01' and fecha_rec_ped<= '$año-$mes-31' group by status


o esta

Código SQL [-]
select count(*) from reg_pedidos where fecha_rec_ped>= '$año-$mes-01' and fecha_rec_ped<= '$año-$mes-31' group by status order by status




este es el codigo html donde se muestra el resultado:

Código PHP:
mysql_select_db("pedido");
$_pagi_sql ="select count(status) from reg_pedidos where fecha_rec_ped>= '$año-$mes-01' and fecha_rec_ped<= '$año-$mes-31' group by status";
$_pagi_result=mysql_query($_pagi_sql);
$num_resultados mysql_num_rows($_pagi_result);
echo 
'<table width="691" border="0" cellpadding="0">';
echo 
'<tr bgcolor="#000000">';
echo 
'<th width="496" scope="col"><span class="style16">Status</span></th>';
echo 
'<th width="93" scope="col"><span class="style16">Total</span></th>';
echo 
'<th width="94" scope="col"><span class="style16">%</span></th>';
echo 
'</tr>';
echo 
'</table>';
while(
$row=mysql_fetch_array($_pagi_result))
{
echo 
'<table width="691" border="0" cellpadding="0">'
echo 
'<tr>';
echo 
'<th width="496" scope="col"><span class="style15">';
echo 
stripslashes($row["status"]);
echo 
'</span></th>';
echo 
'<th width="93" scope="col"><span class="style15">';
echo 
stripslashes($row["count"]);
echo 
'</span></th>';
echo 
'<th width="94" scope="col"><span class="style15"></span></th>';
echo 
'</tr>';
}
echo 
'</table>'
espero que puedan entender lo que trato de explicar.
Responder Con Cita
  #2  
Antiguo 01-02-2007
fdelamo fdelamo is offline
Miembro
 
Registrado: oct 2005
Ubicación: Sotoca de Tajo - Guadalajara (ESP)
Posts: 86
Poder: 19
fdelamo Va por buen camino
¿no te faltaría el campo status dentro del select?
__________________
Sotoca Web
Responder Con Cita
  #3  
Antiguo 01-02-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
EL CAMPO STATUS ESTA INCLUIDO EN EL SELECT:

Código SQL [-]
select count(status) from reg_pedidos where fecha_rec_ped>= '$año-$mes-01' and fecha_rec_ped<= '$año-$mes-31' group by status
Responder Con Cita
  #4  
Antiguo 01-02-2007
fdelamo fdelamo is offline
Miembro
 
Registrado: oct 2005
Ubicación: Sotoca de Tajo - Guadalajara (ESP)
Posts: 86
Poder: 19
fdelamo Va por buen camino
A lo que me refiero es
Código SQL [-]
select status, count(status) from reg_pedidos ... group by status
en mySql no se, pero en Firebird (que es el que yo uso), la select no me devuelve el status si no se pone
__________________
Sotoca Web
Responder Con Cita
  #5  
Antiguo 01-02-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
efectivamente eso era lo que faltaba, muchas gracias pero ocurre otro problema como muestro las cantidades? solamente me muestra los status pero no la cantidad que hay cada uno...

Código SQL [-]
 
select status, count(status) from reg_pedidos where fecha_rec_ped>= '$año-$mes-01' and fecha_rec_ped<= '$año-$mes-31' group by status
Responder Con Cita
  #6  
Antiguo 01-02-2007
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 21
enecumene Va por buen camino
bueno ya yo resolvi:
Código PHP:
mysql_select_db("pedido"); 
$_pagi_sql ="select status, count(status) as count from reg_pedidos where fecha_rec_ped>= '$año-$mes-01' and fecha_rec_ped<= '$año-$mes-31' group by status order by status"
$_pagi_result=mysql_query($_pagi_sql); 
$num_resultados mysql_num_rows($_pagi_result); 
echo 
'<table width="691" border="0" cellpadding="0">'
echo 
'<tr bgcolor="#000000">'
echo 
'<th width="496" scope="col"><span class="style16">Status</span></th>'
echo 
'<th width="93" scope="col"><span class="style16">Total</span></th>'
echo 
'<th width="94" scope="col"><span class="style16">%</span></th>'
echo 
'</tr>'
echo 
'</table>'
while(
$row=mysql_fetch_array($_pagi_result)) 

echo 
'<table width="691" border="0" cellpadding="0">';  
echo 
'<tr>'
echo 
'<th width="496" scope="col"><span class="style15">'
echo 
stripslashes($row["status"]); 
echo 
'</span></th>'
echo 
'<th width="93" scope="col"><span class="style15">'
echo 
stripslashes($row["count"]); 
echo 
'</span></th>'
echo 
'<th width="94" scope="col"><span class="style15"></span></th>'
echo 
'</tr>'

echo 
'</table>'
la consulta la puse de esta manera:

Código SQL [-]
select status, count(status) as count from reg_pedidos where fecha_rec_ped>= '$año-$mes-01' and fecha_rec_ped<= '$año-$mes-31' group by status order by status

gracias a fdelamo por la ayuda prestada te lo agradezco.

Última edición por enecumene fecha: 01-02-2007 a las 23:38:12.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
valor de SELECT COUNT maruenda SQL 15 25-05-2007 22:58:38
Es posible consulta SQL con 'Count' y Valor de un campo ? gluglu SQL 11 09-01-2007 00:02:39
Problema con consulta not in (select ....) VRO Firebird e Interbase 12 03-10-2005 18:54:05
Problema conuna consulta select...not in (select ...) VRO Firebird e Interbase 2 11-08-2005 08:56:35
Select Count (distinct X) lunatiko SQL 2 17-10-2004 21:06:45


La franja horaria es GMT +2. Ahora son las 22:55:55.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi