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

[SOLUCIONADO] Ordenar resultado por el resultado de una resta ORDER BY

Estas en el tema de Ordenar resultado por el resultado de una resta ORDER BY en el foro de Mysql en Foros del Web. TENGO una duda tengo una tabal y en esta dos columnas KARMA-GOOD | KARMA-BAD @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original SELECT  karma_good - karma_bad AS ...
  #1 (permalink)  
Antiguo 26/03/2016, 10:14
Avatar de dhayzon  
Fecha de Ingreso: abril-2013
Ubicación: mx
Mensajes: 64
Antigüedad: 11 años
Puntos: 0
Ordenar resultado por el resultado de una resta ORDER BY

TENGO una duda

tengo una tabal y en esta dos columnas

KARMA-GOOD | KARMA-BAD

Código SQL:
Ver original
  1. SELECT  karma_good-karma_bad AS Diferencia
  2.   FROM {db_prefix}members
  3.    ORDER BY Diferencia DESC

EL Problema es que eso funciona en localhost pero no funciona en hosting

lo que quiero es restar esas dos columnas y ordenarlo de acuerdo al resultado
¿que estoy haciendo mal?

también intente a si
Código SQL:
Ver original
  1. SELECT  karma_good,karma_bad
  2.   FROM {db_prefix}members
  3.    ORDER BY  karma_good-karma_bad DESC

el error que sale es

Código HTML:
BIGINT UNSIGNED value is out of range in
  #2 (permalink)  
Antiguo 26/03/2016, 10:32
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, 5 meses
Puntos: 2658
Cita:
lo que quiero es restar esas dos columnas y ordenarlo de acuerdo al resultado
Bueno, lo que tienes es un serio problema por la definición del tipo de dato:
Cita:
BIGINT UNSIGNED value is out of range in
¿Has tenido en cuenta que si trabajas con números SIN SIGNO, tienes que asegurarte de que la operación JAMÁS dé un número negativo?

Simplemente, si el tipo de dato es sin signo, el valor menor posible es cero (0), y si la operación puede devolver menos que cero, se debe devolver un cero.

¿Se entiende?

Código MySQL:
Ver original
  1. SELECT  IF(karma_bad > karma_good, 0, karma_good - karma_bad) Diferencia
  2.   FROM members
  3.    ORDER BY Diferencia DESC
__________________
¿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 26/03/2016, 11:18
Avatar de dhayzon  
Fecha de Ingreso: abril-2013
Ubicación: mx
Mensajes: 64
Antigüedad: 11 años
Puntos: 0
Respuesta: Ordenar resultado por el resultado de una resta ORDER BY

gracias tenia esa duda de nos números negativos ya esta resuelto

Etiquetas: order, resta, resultado, 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 19:02.