日期:2014-05-16  浏览次数:20690 次

求一MYSQL
SQL code

year      week      name     begintime              endtime              checkin
2010      52        AAA       2010-12-26 00:00:00   2010-12-31 23:55:00  524
....
2011      0         AAA      2011-01-01 00:00:00    2011-01-01 23:55:00  486
2011      1         AAA      2011-01-02 00:00:00    2011-01-08 23:55:00  576
2011      2         AAA      2011-01-09 00:00:00    2011-01-15 23:55:00  580
....
2011      0         BBB      2011-01-01 00:00:00    2011-01-01 23:55:00  323
2011      1         BBB      2011-01-02 00:00:00    2011-01-08 23:55:00  238
2011      2         BBB      2011-01-09 00:00:00    2011-01-15 23:55:00  863
....
2011      0         CCC      2011-01-01 00:00:00    2011-01-01 23:55:00  328
2011      1         CCC      2011-01-02 00:00:00    2011-01-08 23:55:00  876
2011      2         CCC      2011-01-09 00:00:00    2011-01-15 23:55:00  583
....



我写了一个语句:
SQL code

select * from Table where name='AAA' and year=2011



先要得到的数据如下:
SQL code

year      week      name     begintime              endtime              checkin 
2011      0         AAA      2010-12-26 00:00:00    2011-01-01 23:55:00  486+524
2011      1         AAA      2011-01-02 00:00:00    2011-01-08 23:55:00  576
2011      2         AAA      2011-01-09 00:00:00    2011-01-15 23:55:00  580
.....



就是如果第一周不完整,要把前一年的最后一周数据加上这一年的第一周的数据
这个SQL要怎么写啊?

------解决方案--------------------
第一周不完整:详细说明,0-6都要有?
------解决方案--------------------
生成辅助表,保存每年第1个星期的所有日期,再与工作表连接
------解决方案--------------------
建议在你的程序中实现,用SQL语句则效率较差。
------解决方案--------------------
一句估计搞不定 得需要写存储过程