Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Total por folio (group by)

Estas en el tema de Total por folio (group by) en el foro de PHP en Foros del Web. Hola tengo lo siguiente tengo una consulta ordenada por folio... (ya habia posteado el tema y crei a verlo solucionadao en realidad una parte si) ...
  #1 (permalink)  
Antiguo 10/03/2014, 18:25
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Total por folio (group by)

Hola tengo lo siguiente
tengo una consulta ordenada por folio... (ya habia posteado el tema y crei a verlo solucionadao en realidad una parte si)

bien tengo por ejemplo esto
FOLIO----CONCEPTO------------------------MONTO
100-------Chocolates------------------------$250
100-------Flores------------------------------$450
101-------Perfume---------------------------$1000

lo que intento es que me muestre un solo registro (por folio)

FOLIO----CONCEPTO------------------------MONTO
100-------Chocolates,Flores---------------$700

al mostrar conceptos esta bien... pero mi suma esta por todos los folios... yo quisiera hacerla por folio (no en general, AHORITA ME ARROJA AL FINAL $1700)

$folio_ant = "";
while ($row_consulta= mysql_fetch_assoc($consulta)){
$suma+=$row_consulta['pago'];
if($folio_ant != $row_consulta['folio']){
echo "<br/>".$row_consulta['folio']." ";
echo $row_consulta['conceptotext']." ";
echo $row_consulta['pago']." ";
}
else
{

echo ", ".$row_consulta['conceptotext']." ";
echo $row_consulta['pago']." ";
}





$folio_ant = $row_consulta['folio'];

}
echo "$ ".number_format ($suma,2);

Nuevamente Gracias

NOTA: NO USO GROUP BY EN LA CONSULTA SINO ORDER BY folio
  #2 (permalink)  
Antiguo 10/03/2014, 19:06
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Total por folio (group by)

Cita:
NOTA: NO USO GROUP BY EN LA CONSULTA SINO ORDER BY folio
El SQL puede devolverte el resultado directamente, pero para eso debes usar las cláusulas de modo correcto.

Código MySQL:
Ver original
  1. SELECT FOLIO, GROUP_CONCAT(CONCEPTO) CONCEPTO, SUM(MONTO) monto
  2. FROM folios
  3. GROUP BY FOLIO
  4. ORDER BY FOLIO, CONCEPTO, MOTO
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 10/03/2014 a las 19:12
  #3 (permalink)  
Antiguo 10/03/2014, 19:31
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Total por folio (group by)

Cita:
Iniciado por gnzsoloyo Ver Mensaje
El SQL puede devolverte el resultado directamente, pero para eso debes usar las cláusulas de modo correcto.

Código MySQL:
Ver original
  1. SELECT FOLIO, GROUP_CONCAT(CONCEPTO) CONCEPTO, SUM(MONTO) monto
  2. FROM folios
  3. GROUP BY FOLIO
  4. ORDER BY FOLIO, CONCEPTO, MOTO
amigo lo probe y me arroja esto
FUNCTION base.sum does not exist
  #4 (permalink)  
Antiguo 10/03/2014, 19:37
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Total por folio (group by)

Cita:
Iniciado por Briss Ver Mensaje
amigo lo probe y me arroja esto
FUNCTION base.sum does not exist
Me imagino que es nuestro deber adivinar el motor de la base de datos que utilizas para orientarte mejor, ¿verdad?

Claro, que como SUM() no está disponible en tu base de datos alguien tendrá que buscar en el manual por su equivalente y darte la solución, ¿verdad?

No te preocupes, tu tranquila, alguien investigará por ti.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 10/03/2014, 19:45
Avatar de Briss  
Fecha de Ingreso: junio-2011
Mensajes: 1.293
Antigüedad: 12 años, 9 meses
Puntos: 12
Respuesta: Total por folio (group by)

Cita:
Iniciado por pateketrueke Ver Mensaje
Me imagino que es nuestro deber adivinar el motor de la base de datos que utilizas para orientarte mejor, ¿verdad?

Claro, que como SUM() no está disponible en tu base de datos alguien tendrá que buscar en el manual por su equivalente y darte la solución, ¿verdad?

No te preocupes, tu tranquila, alguien investigará por ti.
Tu siempre tan simpatico pateketrueke

Bueno por si alguien le pasa lo mismo...
lei lo siguiente
no se puede tener un espacio después de SUM y antes del corchete de apertura.

quitando estos espacio se soluciona el error

Etiquetas: group, mysql, registro
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 06:26.