2012-04-10 25 views

Respuesta

16

Esto es realmente un agregado rudimentario SUM(). Recomiendo leer la documentación de su RDBMS en las funciones de agregado y GROUP BY, porque esto es bastante elemental.

SELECT 
    SUM(Tax) AS sumtax, 
    State 
FROM table 
GROUP BY State 
/* Looks like you want descending order */ 
ORDER BY SUM(Tax) DESC 

en cuenta que algunos RDBMS (MySQL, por ejemplo) le permitirá utilizar un alias de columna en el ORDER BY como en:

ORDER BY sumtax DESC 

... donde otros (como SQL Server si recuerdo correctamente) no lo hará y debe usar el valor agregado allí también.

Editar:acabo de revisar y, de hecho SQL Server parece permitir alias en el ORDER BY. Seguro que no puedes usar un alias en el GROUP BY aunque ...

+0

¿cómo puedo obtener el 'ID'? gracias – dadan

+0

@dadan El ID no es único para cada agregado 'SUM()' porque los valores múltiples de ID de estado se representan en cada 'SUM()'. (por ejemplo, la suma 'TX' tiene identificadores 0, 1) Debería publicar una pregunta que demuestre exactamente lo que necesita. –

+0

gracias por responder, he encontrado una solución para mi problema, usando 'sobre la partición por' en el oráculo – dadan

Cuestiones relacionadas