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

Uso del group by ordena registros - mysql

Estas en el tema de Uso del group by ordena registros - mysql en el foro de Mysql en Foros del Web. Hola a todos, alguien sabrá como mantener el orden de los registros de una consulta. No tengo problemas con la consulta hasta que uso la ...
  #1 (permalink)  
Antiguo 22/06/2015, 08:51
 
Fecha de Ingreso: marzo-2015
Mensajes: 183
Antigüedad: 9 años, 1 mes
Puntos: 8
Uso del group by ordena registros - mysql

Hola a todos,
alguien sabrá como mantener el orden de los registros de una consulta.
No tengo problemas con la consulta hasta que uso la clausula GROUP BY, al usarlo me lo ordena los registros por el campo item.

Voy a abreviar la consulta porque el interés creo que está en porque uso el GROUP BY.

Código MySQL:
Ver original
  1. SELECT cotcli.cod_cotizacion,cotclid.nitem,cotclid.des_articulo,cotclid.cant,SUM(COALESCE(xcotclid,0))AS mov_cant
  2. FROM cotizacion_cliente_det cotclid
  3. INNER JOIN cotizacion_cliente cotcli ON cotcli.cod_cotizacion=cotclid.cod_cotizacion_cliente
  4. LEFT JOIN cotizacion_cliente_det xcotclid ON (xcotclid.cod_cotizacion=cotclid.cod_cotizacion
  5.   AND xcotclid.nitem=cotclid.nitem
  6. )
  7. WHERE cotcli.num_cotizacion='00085/15'
  8. GROUP BY cotcli.cod_cotizacion,cotclid.nitem

Sin usar el GROUP BY el resultado es el siguiente:
Cita:
1
4
1B
1A
2
pero cuando hago uso del GROUP BY lo ordena en forma ASCENDENTE
Cita:
1
1A
1B
2
4
Sé que para muchos este resultado es irrelevante, ya que solo es un tema de orden, ademas se ve mejor presentable si los items estan en orden ascendente, pero mi cliente es "especial"

Alguien sabe como mantener el orden de los items.
OJO: El tipo de dato items es de tipo varchar

Tengo una idea, pero me lleva a usar una subconsulta donde se sumen las cantidades y luego uso el inner para llevar el resultado a la consulta principal. Antes de recurrir a ello quisiera saber si alguien conoce el método de mantener el orden de los registros.

Saludos.

Última edición por gnzsoloyo; 22/06/2015 a las 09:08
  #2 (permalink)  
Antiguo 22/06/2015, 11:28
Avatar de giuli956  
Fecha de Ingreso: noviembre-2012
Mensajes: 149
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Uso del group by ordena registros - mysql

Para ordenar se usa order by no group by. Puedes agrupar por un campo, pero con order by muestras los resultados ordenados, aunque la ubicacion dentro de la tabla no cambia solo cambia el muestreo.

Etiquetas: bases-de-datos-general, group, registros, select
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:31.