2012-09-05 15 views
10

Używam SQLite i próbuję zwrócić sumę jednej kolumny buy_price w kolumnie TOTAL, jednocześnie zwracając wszystkie dane. Nie chcę/muszę grupować danych, ponieważ potrzebuję danych w każdym zwróconym wierszu.SQLite: Uzyskaj sumę/sumę kolumn

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 

Kiedy to coś jak SUM(buy_price) as TOTAL to zwraca tylko jeden wiersz. Potrzebuję wszystkich wierszy zwróconych wraz z sumą wszystkich wpisów buy_price.

+0

Witamy na przepełnienie stosu! Zachęcamy do [badania swoich pytań] (http://stackoverflow.com/questions/how-to-ask). Jeśli [próbowałeś już czegoś] (http://whathaveyoutried.com/), dodaj to pytanie - jeśli nie, najpierw zbadaj i spróbuj najpierw odpowiedzieć na twoje pytanie, a potem wróć. –

Odpowiedz

19

Brzmi to jest to, czego szukasz:

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

zobaczyć SQL Fiddle with Demo

+0

Dzięki. Jest to bliskie, jednak z jakiegoś powodu zwraca podwójną sumę, tj. 120 zamiast 60. Jest również wymienione w każdym wierszu, nie że jest to wielka sprawa. Pomyślałem, że był sposób użycia COALESCE do tego, że został zwrócony tylko raz (nie jestem ekspertem SQL, więc bardzo dobrze mogę być w błędzie) Dzięki! – user1650361

+0

@ user1650361 Czy możesz utworzyć półtora piksela z dodatkowymi przykładowymi danymi? Na podstawie podanych przez Ciebie ograniczonych danych wydaje się, że działa. – Taryn

+0

To działa. Problem z moją instrukcją SQL powodował nieprawidłowe dane. Dzięki! – user1650361

Powiązane problemy