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

ORDER BY & GROUP BY en un query

Estas en el tema de ORDER BY & GROUP BY en un query en el foro de Mysql en Foros del Web. Hola, tengo la siguiente consulta: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código MySQL: Ver original SELECT * , sum ( subtotal ) as subtotal FROM productos ORDER BY prec_r ...
  #1 (permalink)  
Antiguo 15/08/2013, 00:27
Avatar de totti026  
Fecha de Ingreso: junio-2011
Mensajes: 150
Antigüedad: 13 años, 5 meses
Puntos: 4
Pregunta ORDER BY & GROUP BY en un query

Hola,
tengo la siguiente consulta:
Código MySQL:
Ver original
  1. SELECT *, sum(subtotal) as subtotal
  2. FROM productos
  3. ORDER BY prec_r, prec_num, prec_al ASC

Quiero mostrar todos los registros que me genera esta consulta con while en una tabla pero a la vez quiero sumar el campo "subtotal" y agruparlo a "prec_r"
para que me de una suma por bloques, pero no puedo poner GROUP BY en la consulta o si? porque yo requiero todos los campos...

Última edición por gnzsoloyo; 15/08/2013 a las 07:33
  #2 (permalink)  
Antiguo 15/08/2013, 02:17
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 meses
Puntos: 300
Respuesta: ORDER BY & GROUP BY en un query

Esto puede hacerse, claro
Código MySQL:
Ver original
  1. SELECT sum(subtotal) subtotal
  2.  FROM productos
  3.    GROUP BY prec_r
  4.       ORDER BY prec_r, prec_num, prec_al

pero si lo haces, devolverá solo un dato por cada prec_r, y claro, los valores de los demás campos de aquellos que tienen el mismo prec_r no se mostrarán; solo el número de prec_r una vez y los demás datos de los otros campos del primer registro que represente cada prec_r de acuerdo con el orden en que estén en la base. Se perderán muchos valores y eso no tiene sentido. No es lo mismo usar los registros que hacer agrupados con ellos. Pero pueden hacerse subconsultas dependiendo de lo que quieras sacar. Dinos con ejemplos cuáles son los campos y los datos, y cómo quieres sacarlos: tal vez haya alguna otra posibilidad.
  #3 (permalink)  
Antiguo 15/08/2013, 06:42
Avatar de totti026  
Fecha de Ingreso: junio-2011
Mensajes: 150
Antigüedad: 13 años, 5 meses
Puntos: 4
Respuesta: ORDER BY & GROUP BY en un query

Gracias jurena, ya lo he probado y en efecto no se muestran varios registros, estaba pensando en la subconsulta que dices... solo quiero sacar la suma de los subtotales y agruparlos por "prec_r"
pero sin afectarme en nada la primer consulta y los resultados irlos poniendo como totales en una columna a lado como encabezados de los bloques...
Código MySQL:
Ver original
  1. SELECT *, sum(subtotal) as subtotal
  2. FROM productos ORDER BY prec_r, prec_num, prec_al ASC;

Cita:
Editado: No se permiten codigos de programacion en foros de BBDD
Pero que la subconsulta me vaya sacando la suma por bloques y poniendo el total a un lado pero una celda arriba, mas o menos asi:


.
.
.

Gracias de nuevo por tu atencion jurena.

Última edición por gnzsoloyo; 15/08/2013 a las 07:33
  #4 (permalink)  
Antiguo 16/08/2013, 06:00
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 7 meses
Puntos: 300
Respuesta: ORDER BY & GROUP BY en un query

totti026
echa un vistazo al modificador de group by with rollup y trata de adaptarlo a tus necesidades

http://dev.mysql.com/doc/refman/5.0/...modifiers.html

Etiquetas: group, order, php, query, registro, select, tabla
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:08.