基于另一列从一列查询SQLITE DB的数据

时间:2014-01-25 05:02:19

标签: sql sqlite

我希望这篇文章的标题有意义。

有问题的数据库有两列与我的问题有关,一个日期列遵循格式xx / xx / xxxx并为列定价。我想要做的是根据它们发生的月份和年份得到价格列中的价格总和,但该数据在上述另一列中。这样做将允许我确定给定年份的给定月份的总数。问题是我不知道如何构建一个能够满足我需要的查询。我在网上做了一些阅读,但我不确定如何解决这个问题。有人可以提供一些建议/提示吗?

感谢您的时间!

迈克

我能够使用LIKE子句找到解决方案:

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

“11”可以是任何2位数月份,“1234”是任何4位数年份。 %符号充当通配符。例如,此查询返回数据库中1234年第11个月的任何价格总和。

感谢您的投入!

2 个答案:

答案 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