2017-07-07 39 views
1

我的表看起來像這樣(我在一家能源公司工作)SQL服務器:SUM視的一個條件多行

dte    hub   Peak   Offpeak 
07-04-2017  SoCo   36.19   18.23 
07-04-2017  SwapBID  0.5    0.25 
07-05-2017  SoCo   32.12   21.72 
07-05-2017  SwapBID  0.25   0.25 
07-06-2017  SoCo   33.87   20.34 
07-06-2017  SwapBID  0.5    0.5 

我希望能夠用一個選擇查詢從該表中提取數據,並使兩個樞紐的高峯和低峯價格在同一天內加在一起。例如,在2017年4月7日我希望它顯示山頂是36.69和Offpeak是18.48。我想在桌上每天都這樣做。我如何編碼?

+1

與樣本數據,什麼是預期的結果 - 作爲格式化文本? – jarlh

+1

你應該發佈你已經嘗試過的 - 以及你所做的任何研究。 –

回答

1

按日期只是彙總表格,總結高峯,非高峯值:

SELECT 
    dte, 
    SUM(Peak) AS Peak, 
    SUM(Offpeak) AS Offpeak 
FROM yourTable 
GROUP BY dte 

如果給定的日期可能有不止一個hub類型,但我們想只考慮SoCoSwapBID樞紐,那麼我們就可以考慮增加一個WHERE子句查詢:

WHERE hub IN ('SoCo', 'SwapBID') 
0

你要找的聚合group by

嘗試:

create table #t(dte date,hub varchar(100),Peak float,Offpeak float) 
insert into #t values 
('07-04-2017','SoCo',36.19,18.23), 
('07-04-2017', 'SwapBID',0.5,0.25), 
('07-05-2017','SoCo',32.12,21.72), 
('07-05-2017','SwapBID',0.25,0.25), 
('07-06-2017', 'SoCo,33.87,20.34), 
('07-06-2017', 'SwapBID',0.5,0.5) 

select dte, 
sum(Peak) as total_peak, 
sum(Offpeak) as total_offpeak 
from #t 
group by dte