2012-09-05 74 views
10

我正在使用SQLite,並試圖返回列TOTAL中的一列buy_price的總數,同時返回所有數據。我不希望/不需要對數據進行分組,因爲我需要在每個返回的行中都有數據。SQLite:獲得總數/總和列

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 

當我包含諸如SUM(buy_price) as TOTAL之類的東西時,它只返回一行。我需要返回的所有行以及所有buy_price條目的總數。

+0

歡迎堆棧溢出!我們鼓勵你[研究你的問題](http://stackoverflow.com/questions/how-to-ask)。如果你已經[嘗試了某些東西](http://whathaveyoutried.com/),請將其添加到問題中 - 如果沒有,請先研究並嘗試您的問題,然後再回來。 – 2012-09-27 16:05:15

回答

19

聽起來好像這是你在找什麼:

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

看到SQL Fiddle with Demo

+0

謝謝。這很接近,但是由於某種原因,它返回的總和是原來的兩倍,即120而不是60.此外,它列在每一行中,並不是什麼大問題。我認爲有一種方法使用COALESCE它只返回一次(我沒有SQL專家,所以我很可能是錯的)謝謝! – user1650361

+0

@ user1650361你可以用一些額外的樣本數據創建一個sqlfiddle嗎?根據您提供的有限數據,它似乎正在工作。 – Taryn

+0

這有效。問題與我的SQL語句導致錯誤的數據。謝謝! – user1650361