讓我來舉個簡單的例子來說明我的意思。如何從表格中選擇日期範圍內的值集合
比方說,我們有一個名爲表佔的列存款,d月,並d年。 選擇總和(存款)將獲得存款列下的值的總和全部值。 什麼是SQL查詢來獲取存款總和,也就是說,週期早比2016年7月
讓我來舉個簡單的例子來說明我的意思。如何從表格中選擇日期範圍內的值集合
比方說,我們有一個名爲表佔的列存款,d月,並d年。 選擇總和(存款)將獲得存款列下的值的總和全部值。 什麼是SQL查詢來獲取存款總和,也就是說,週期早比2016年7月
假設d月裏含有一種重要約會時一樣,你可以做到這一點與在那裏CLASE
Select sum(deposits) as Sum from accounts where dmonth < 07-01-16 00:00:000.000
另請參見:
我假設'dmonth'不包含完整的日期,因爲他有一個單獨的'染色體'列。再一次,只是一個假設。 – Santi
好的一點泰勒,我們一定需要知道dmonth的價值,以及他們想要走多遠,只是今年,永遠等方面更清晰一點。 – Shark50521
不僅僅是今年。週期是任意的。 – bodesam
取決於你如何和dyear
dmonth
或存儲,你可能需要做這樣的事情:
SELECT SUM(deposits) as Deposits_Sum WHERE CONVERT(int, dyear+dmonth) < 201607
我在這裏做的是結合你的dyear
和dmonth
創造價值這是按時間順序排序。然後將其轉換爲一個整數用於比較目的。
使用此邏輯,我們可以通過在WHERE
子句中執行< 201607
來找到此值小於2016年7月的所有記錄。如果您的年份未保存爲yyyy
和/或您的月份不是MM
,則最後一部分可能需要進行一些修改。
'SELECT SUM(存款)作爲Deposits_Sum WHERE CONVERT(INT,d年+ d月)<201607' - 根據年份和月份是如何存儲,你必須更改'201607'部分。我的例子假定年份存儲爲4位數字,月份存儲爲2位數字。 – Santi
十月以下的月份存儲爲單個數字,例如7不是07,那麼20167是否正確? – bodesam
是的,應該工作! – Santi