打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
请教sqlite可以用sql按月统计吗

请教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月',日期)
------解决方案--------------------
引用:
感谢诸位,对照着help理解了以上SQL的意思了。

可是,这样好像无记录月份就不会被显示出来了,比如说例子里面的9月份、11月份和12月份。
那你可以

1) 在代码中实现,如果跳月了,则输入一个为0的。 (效率高)
2) 在数据库中创建一个所有月份的表,然后做LEFT JOIN
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
sqlite 取日期的方法:年,季度,月,当月第几周
【转】关于Sqlite的日期比较方法
蓝桥杯|Python组第三题
sqlite时间函数及时间处理
SQLite 函数大全
SQLite 日期 & 时间 | w3cschool菜鸟教程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服