我有一個SQLiteDB,在其中一個表中,我有一個日期列(格式爲3-1-2011)和一列數量。我想獲取指定月份中所有結果的數量。所以,如果我的表看起來像這樣:從SQLiteDB獲取選擇信息?
1-28-2011 9
2-2-2011 2
2-5-2011 6
2-12-2011 3
2-20-2011 6
3-1-2011 12
我怎麼可能去從2月份的行搶奪剛值和增加他們呢?
我有一個SQLiteDB,在其中一個表中,我有一個日期列(格式爲3-1-2011)和一列數量。我想獲取指定月份中所有結果的數量。所以,如果我的表看起來像這樣:從SQLiteDB獲取選擇信息?
1-28-2011 9
2-2-2011 2
2-5-2011 6
2-12-2011 3
2-20-2011 6
3-1-2011 12
我怎麼可能去從2月份的行搶奪剛值和增加他們呢?
您沒有提到用於存儲日期的數據類型。我在猜測一個字符串。
如果是這種情況,可以使用LIKE。
修改skyman的查詢:
SELECT SUM(quantity)
FROM my_table
WHERE date LIKE '2-%'
當然,如果你可能有像02-XX-XXXX行,那麼你就需要考慮這一點。
試試這個SQL語句查找所有日期的總和在2月:
SELECT SUM(MyQuantity)
FROM MyTable
WHERE strftime('%m', OrderDate) = '02'
我認爲你的日期格式存儲不夠靈活...... 如果你將它更改爲年月日的查詢如下像這樣:
SELECT SUM(quantity) FROM my_table WHERE date BETWEEN 2011$(MM)01 AND 2011$(MM)31
據我所知strftime無法解析非ISO格式的日期。 http://www.sqlite.org/lang_datefunc.html – skyman
@skyman;對......我沒有注意到數據類型不適合的日期時間。 –