2014-01-25 67 views
-1

我希望這篇文章的標題是有意義的。基於另一列查詢SQLITE數據庫中的一列數據

有問題的數據庫有兩列與我的問題相關,即按照格式xx/xx/xxxx的日期列和價格列。我想要做的是根據它們發生的月份和年份,在價格欄中獲得價格總和,但該數據位於上述其他欄中。這樣做將允許我確定給定年份的給定月份的總數。問題是我不知道如何構建一個能夠做我需要的查詢。我在網上做了一些閱讀,但我不確定如何去解決這個問題。任何人都可以提供一些建議/提示?

謝謝你的時間!

邁克

我能找到使用LIKE子句的解決方案:

SELECT sum(price) FROM purchases WHERE date LIKE '11%1234%' 

的「11」可以是任何2位數月份和「1234」是任何4位數的年份。 %符號充當通配符。例如,此查詢將返回數據庫中1234年的第11個月的任何價格的總和。

感謝您的輸入!

回答

1

不能使用這些日期值的built-in date functions,因爲你已經將它們存儲格式在supported date formats之一,而不是displaing的。

如果月和日場總是有兩個數字,你可以使用substr

SELECT substr(MyDate, 7, 4) AS Year, 
     substr(MyDate, 1, 2) AS Month, 
     sum(Price) 
FROM Purchases 
GROUP BY Year, 
     Month 
+0

謝謝!這也適用!最好了解顯示格式和數據操作格式之間的區別。 – user3116503

0

那麼,我們的目標是按月收集一個聚合分組?

select strftime('%m', mydate), sum(price) 
from mytable 
group by strftime('%m', mydate) 

查找到group by

+0

感謝您的幫助!快速的問題,雖然...在你的例子列名是「mydate」嗎? – user3116503

+0

好的,在strftime上做了一些閱讀,我想我會舉個例子。問題是,我需要根據年份和月份來計算總和,所以我不需要在查詢中的某個地方包括%Y? – user3116503

相關問題