|
Tengo una consulta sobre SQL. Hice una query que me calculaba el dinero que debía cierta persona que tenía varios registros asignados. Hasta ahí estupendo, pues usé SUM() y me dio lo que debía cada persona. Lo que no sé como hacer es ordenar de mayor a menor de acuerdo a lo que me dio la función SUM(). ¿Alguna pista? Saludos |
|
Los agregados son los resultados de un SELECT con GROUP BY. En estos casos, ordenar los resultados en complejo, ya que en una sóla sentencia es imposible, aunque usemos el comando ORDER BY. Esto es así, porque "ORDER BY" actua sobre los registros obtenidos en primera instancia por el SELECT, pero no sobre los obtenidos al actuar el comando "GROUP BY". De modo que la única solución es crear una tabla temporal, a base de los resultados del SELECT SUM() ... GROUP BY ... 1
Que tal! Crear una tabla temporal significaría modificar la base de datos, la duda es: ¿cómo cargo en el campo de la nueva tabla la suma de lo que debe? ¿me puede ayudar un poco en ese tema? Muchas gracias. Saludos
(24 Ene '12, 07:29)
computerphys...
|

¿Puedes poner la consulta en concreto a la que te refieres?
SELECT SUM(debe) AS deuda FROM personas_deuda GROUP BY persona_id ORDER BY deuda DESC