2012-09-05 16 views
10

Sto usando SQLite e sto cercando di restituire il totale di una colonna buy_price nella colonna TOTAL mentre allo stesso tempo restituisco tutti i dati. Non voglio/ho bisogno di raggruppare i dati in quanto ho bisogno di avere i dati in ogni riga restituita.SQLite: Ottieni totale/somma colonna

id date  pool_name pool_id buy_price TOTAL 
1 09/01/12 azp   5   20 
2 09/02/12 mmp   6   10 
3 09/03/12 pbp   4   5 
4 09/04/12 azp   7   20 
5 09/05/12 nyp   8   5    60 

Quando comprendono qualcosa come SUM(buy_price) as TOTAL restituisce una sola riga. Ho bisogno di tutte le righe restituite insieme al totale di tutte le voci buy_price.

+0

Benvenuti a Stack Overflow! Ti invitiamo a [ricercare le tue domande] (http://stackoverflow.com/questions/how-to-ask). Se hai già [provato qualcosa] (http://whathaveyoutried.com/), aggiungilo alla domanda - in caso contrario, cerca e prova prima la tua domanda e poi torna indietro. –

risposta

19

Sembra che questo è quello che stai cercando:

select id, 
    dt, 
    pool_name, 
    pool_id, 
    buy_price, 
    (select sum(buy_price) from yourtable) total 
from yourtable 

vedere SQL Fiddle with Demo

+0

Grazie. Questo è vicino, tuttavia per qualche motivo restituisce il doppio della somma, vale a dire 120 anziché 60. Inoltre, è elencato in ogni riga, non che sia un grosso problema. Pensavo che ci fosse un modo per usare COALESCE per farlo restituire solo una volta (non sono esperto di SQL, quindi potrei sbagliarmi molto) Grazie !!! – user1650361

+0

@ user1650361 puoi creare uno sqlfiddle con alcuni dati di esempio aggiuntivi? Sulla base dei dati limitati che hai fornito sembra funzionare. – Taryn

+0

Questo funziona. Il problema con la mia dichiarazione SQL stava causando dati errati. Grazie! – user1650361

Problemi correlati