2012-09-25 85 views
0

這是相當一個很難解釋,但可能(希望)一個容易解決,所以我只解釋這是什麼,我想acheive togethor依賴列的值。如何添加另一列

我有一個表格,可以輸入多個日誌作爲一個單獨的行,然後我有一個小數作爲另一列,我試圖爲每一天創建一個摘要,這將是類似於

01/01/1900 | | 5.5

即使世界一個條目爲01/01/1900 2.5,一個具有3中,以便將所述值togethor爲天主表?

我唯一的問題是增加的日期togethor如果日期是相同的,我想是這樣

選擇不同的日期和與得到小數列,其中日期的總和表連接它...這就是我不太確定的地方?

任何幫助將是偉大的!感謝

+1

查找[按組(http://www.sql-tutorial.com/sql-group-by-sql-tutorial/) –

+1

您可以使用GROUP BY。它是日期列還是日期時間列? – Prasanna

回答

2

如果你的表被命名爲日誌數據像

log_date  | value 
1900-01-01 | 2.5 
1900-01-01 | 3 

然後將查詢是

SELECT sum(value) FROM logs GROUP BY log_date 
+0

完美!知道這比我做出來要容易得多,謝謝! – Alex

0
CREATE VIEW Summary 
AS 
SELECT 
    DateValue, 
    SUM(DecimalValue) DayTotal 
FROM 
    EventTable 
GROUP BY 
    DateValue; 

然後

SELECT 
    * 
FROM 
    Summary 
WHERE 
    DateValue = '1900-01-01' 
1

你在找什麼是可能是一個GROUP BY子句。

SELECT [ yourdatecol, ] sum(yourdecimalcol) FROM yourtable 
    [ WHERE yourdatecol = .. ] 
    GROUP BY [ get_ymd_from_date(yourdatecol) | yourdatecol ] ; 

通過這樣的語法,您將獲得由相同的datecol值選​​擇的行集合的總和。您可能還需要大約日期(例如只取Y/M/d一部分來自它),如果日期包含H/M/ss和你想要的是每一天的款項。我用方括號括起來的可選部分。

1
SELECT log_date,sum(value) FROM logs GROUP BY log_date 
0

試試這個:

SELECT CONVERT(VARCHAR, DateColumn, 103) AS OutputDate, SUM(ValueColumn) AS TotalValue 
FROM YourTable 
GROUP BY CONVERT(VARCHAR, DateColumn, 103) 
0

我假定一個DateTime使用,讓LOGDATE調用它。我也假設另一個是小數,我們稱它爲logdecimal。

使用SQL Server 2008,你可以做(​​的是,它是沒有時間的一部分一種稱爲日期):使用SQL Server沒有日期類型

SELECT 
CAST(logdate as date) as TheDay, 
SUM(logdecimal) as TheSum 
FROM logTable 
GROUP BY CAST(logdatetime as date) 

,也許是這樣的:

SELECT 
CONVERT(varchar(10), logdate, 101) as TheDay, 
SUM(logdecimal) as TheSum 
FROM logTable 
GROUP BY CONVERT(varchar(10), logdate , 101) 

問候,歐萊

編輯:如果它是一個DateTime(包括時間部分)要組作爲一個日期(不包括部分時間)這人會工作。看起來這個問題並非如此。