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

Duda ordenar columnas sumadas

Estas en el tema de Duda ordenar columnas sumadas en el foro de Mysql en Foros del Web. Hola amigos tengo un duda sobre como ordenadar de menor a mayor esta consulta. La consulta muestra los registro que sumando las dos columnas sean ...
  #1 (permalink)  
Antiguo 04/12/2014, 09:26
 
Fecha de Ingreso: septiembre-2011
Mensajes: 176
Antigüedad: 12 años, 7 meses
Puntos: 0
Duda ordenar columnas sumadas

Hola amigos tengo un duda sobre como ordenadar de menor a mayor esta consulta. La consulta muestra los registro que sumando las dos columnas sean 2 o mayores que dos.

Código MySQL:
Ver original
  1. FROM nv03_UN
  2. columna1 + columna2>= '2'
  3. );

Me gustaria ordenar según esa suma, así no me funciona bien:

ORDER BY columna1ASC,columna2 ASC

Muchas Gracias
  #2 (permalink)  
Antiguo 04/12/2014, 09:35
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: Duda ordenar columnas sumadas

Lo mejor es especificar una a una las columnas, para poder excluir la sumatoria en el SELECT y sólo usarla para ordenar:
Código MySQL:
Ver original
  1. SELECT a, b, c, d, e
  2.    (SELECT a, b, c, d, e, (columna1 + columna2) suma
  3.     FROM nv03_UN) T1
  4. WHERE suma >= 2

Por cierto, acuérdate que no se debe poner un valor numerico entre apostrofos, porque no es una cadena de caracteres. eso es un error de programadores.

me refiero a esto:
Código SQL:
Ver original
  1. columna1 + columna2 >= '2'
Eso está mal.
Debe ir siempre así:
Código SQL:
Ver original
  1. columna1 + columna2 >= 2

¿Se nota la diferencia en el resaltado del codigo?
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 04/12/2014, 09:56
 
Fecha de Ingreso: septiembre-2011
Mensajes: 176
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Duda ordenar columnas sumadas

Hola muchas gracias pero no entinedo la consulta, son demasidas columnas que hay en la tabla donde quiero ordenar para poner una a una. Tampoco entiendo como escluyes suma y que es T1. Gracias por el tema del apostrofe ya lo sabia, hice un copia pega.

Muchas gracias por tu time.


Código MySQL:
Ver original
  1. SELECT a, b, c, d, e
  2.     FROM
  3.        (SELECT a, b, c, d, e, (columna1 + columna2) suma
  4.         FROM nv03_UN) T1
  5.     WHERE suma >= 2
  6.     ORDER BY suma
  #4 (permalink)  
Antiguo 04/12/2014, 10:25
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: Duda ordenar columnas sumadas

Lo de "demasiadas columnas" puede ser indicativo de un modelo de datos mal diseñado. Exceos de columnas es habitual en tablas que no están normalizadas, pero sin ver la tabla real es difícil de decirlo.
En todo caso es algo que se puede solucionar simplemente usando una herramienta del tipo MySQL Workbench, por ejemplo, para construir la sentencia.

Lo de excluir una columna es simple: Es una subconsulta, por lo tanto sólo mostrará lo que pongas en la consulta mayor, y no en las internas.
Además, se aprovecha una condición propia de MySQL: Permite indicar ordenamientos y agrupaciones por columnas que no figuren en el SELECT...

Lo de desconocer qué significa "T1", implica que conoces poco de SQL, sin ofender, porque eso es un alias, cosa que existe en el SQL desde el principio. Ene l caso de una subconsulta en el FROM, es obligatorio, porque toda tabla derivada debe tener un alias, en todos los DBMS, no sólo MySQL.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #5 (permalink)  
Antiguo 16/12/2014, 02:00
 
Fecha de Ingreso: septiembre-2011
Mensajes: 176
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Duda ordenar columnas sumadas

Hola Muchas gracias por la respuesta, sobre la base de datos y las columnas no puedo cambiarlas. Tengo alguna duda que si es posible me puedes aclarar te agradeceria mucho.

Por una parte tal y como lo pones no podría ser, en ves de utilizar una subconsulta solo utilizar una:
Código MySQL:
Ver original
  1. SELECT * (columna1 + columna2) suma
  2.       FROM TABLA
  3.         WHERE suma >= 2;
  #6 (permalink)  
Antiguo 20/12/2014, 12:28
 
Fecha de Ingreso: julio-2010
Mensajes: 7
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Duda ordenar columnas sumadas

Oye lo que podrias hacer es

Código MySQL:
Ver original
  1. SELECT *,  (columna1 + columna2) as suma
  2. FROM TABLA
  3. WHERE (columna1 + columna2) >= 2
  4. order by suma;

o si no te sirve lo que te envio, create una vista

Etiquetas: columnas, registro, 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 20:23.