请教sqlite可以用sql按月统计吗 www.MyException.Cn 发布于:2013-01-06 15:44:47 浏览:16次 请问sqlite可以用sql按月统计吗
我用的c#,我的table字段为: 主键 自增号 integer 日期 ntext 金额 money 其实际数据类似于: 2012-08-08 3.45 2012-10-12 4.56 2012-10-24 3.00 我想用sql进行按月统计类似于: 2012年8月(或者2012年08月均可) 3.45 2012年9月 0 (或者0.00均可) 2012年10月 7.56 2012年11月 0 2012年12月 0 我是想用sql一条命令写起代码来方便一些,如果不行的话,就只能先读取原始表格,然后在代码中遍历表格进行统计了。 谢谢 ------解决方案-------------------- 我没用过SQLite对SQL server比较熟,按SQL标准给你写了一个,仅供参考思路 Select substr(日期,1,4) ------解决方案-------------------- '年' ------解决方案-------------------- substr(日期,6,2) ------解决方案-------------------- '月' as 月份 sum(金额) as 金额 from 我的table group by substr(日期,1,4) ------解决方案-------------------- '年' ------解决方案-------------------- substr(日期,6,2) ------解决方案-------------------- '月' ------解决方案-------------------- select strftime(日期,'%Y-%m'),sum(金额) from table group by strftime(日期,'%Y-%m') ------解决方案-------------------- select substr(日期,1,7),sum(金额) from table group by substr(日期,1,7) ------解决方案-------------------- select strftime('%Y年%m月',日期),sum(金额) from tt group by strftime('%Y年%m月',日期) ------解决方案-------------------- 那你可以 1) 在代码中实现,如果跳月了,则输入一个为0的。 (效率高) 2) 在数据库中创建一个所有月份的表,然后做LEFT JOIN |
|