Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/06/2015, 08:51
oggy_15_3
 
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