2013-05-04 28 views
0
SELECT strftime('%W', day) AS week, sum(amount) FROM MyTable GROUP BY week ORDER BY week DESC 

此查询对于按周计算金额很有用。但是,这一年给出的周数,我可以知道如何得到一个月的周数。我搜索了很多。但所有结果都与年份中的周数而非月份相关。获取约会的周数

在此先感谢。

+0

将你算的一部分一星期为一周,还是从一周的第一个星期一开始计算? – 2013-05-04 12:43:39

+0

@IsmetAlkan我对这位朋友非常抱歉。我不知道。我查询的日子就像“04-05-2013”​​。查询返回星期数为17. – Gunaseelan 2013-05-04 12:46:35

+0

然后需要执行逻辑来解析周中的周数到月数 – 2013-05-04 12:48:58

回答

2

你可以操纵的strftime()来得到你的答案创建日历实例。

在给定的日期和指定的日期月份的第一次约会应用的strftime()和相减获得本月的周数

SELECT strftime('%W','2013-05-04')-strftime('%W','2013-05-01') +1; 

SQL Fiddle demo

3

你可以试试这个代码

从SQLite的日期部分

Calendar now = Calendar.getInstance(); 


    now.set(Calendar.YEAR,2013); 
    now.set(Calendar.MONTH,04);//0- january ..4-May 
    now.set(Calendar.DATE, 04); 

System.out.println("Current week of month is : " + 
      now.get(Calendar.WEEK_OF_MONTH)); 

System.out.println("Current week of year is : " + 
      now.get(Calendar.WEEK_OF_YEAR)); 
+0

我不是问这个朋友。我在询问如何在选择查询中获得每月的星期几。 '在这部分朋友中选择strftime('%W',day)''。 – Gunaseelan 2013-05-04 13:14:21

+0

+1花时间尝试帮助我。谢谢。 – Gunaseelan 2013-05-04 13:15:31

+0

嘿为什么你不能解析sqlite查询后...从Sqlite你不能。为什么使用Core Java代码来实现功能? – 2013-05-04 13:19:14