我希望这篇文章的标题有意义。
有问题的数据库有两列与我的问题有关,一个日期列遵循格式xx / xx / xxxx并为列定价。我想要做的是根据它们发生的月份和年份得到价格列中的价格总和,但该数据在上述另一列中。这样做将允许我确定给定年份的给定月份的总数。问题是我不知道如何构建一个能够满足我需要的查询。我在网上做了一些阅读,但我不确定如何解决这个问题。有人可以提供一些建议/提示吗?
感谢您的时间!
迈克我能够使用LIKE子句找到解决方案:
SELECT sum(price) FROM purchases WHERE date LIKE '11%1234%'
“11”可以是任何2位数月份,“1234”是任何4位数年份。 %符号充当通配符。例如,此查询返回数据库中1234年第11个月的任何价格总和。
感谢您的投入!
答案 0 :(得分:1)
您无法在这些日期值上使用built-in date functions,因为您已将它们格式化为替换而不是supported date formats中的一个。
如果月份和日期字段始终有两位数,则可以使用substr:
SELECT substr(MyDate, 7, 4) AS Year,
substr(MyDate, 1, 2) AS Month,
sum(Price)
FROM Purchases
GROUP BY Year,
Month
答案 1 :(得分:0)
那么,目标是按月汇总分组?
select strftime('%m', mydate), sum(price)
from mytable
group by strftime('%m', mydate)
查看group by