网站积分问题(sql语句)开发

善若止水 2016-03-05 09:05:14
大家好:
今天我遇到了一个sql语句的问题,请大家帮我解决下。
网站的积分规则是,第一天签到送1积分,连续第二天签到当天送2积分,连续第三天签到当天送3积分,这样依次类推。如果连续签到第7天,则从第一天算起。如果中间断了,则从第一天开始算起。是按照月份算计算的。
比如,用户签到日期是20160301,20160302,20160303,20160304,20160305,20160306,20160307,则积分为1+2+3+4+5+6+1=22积分。如果用户签到日期是20160301,20160302,20160303,20160305,20160306,20160307,中间的20160304日没有签到,则积分为1+2+3+1+2+3=12积分。
我想了想,目前还没有找到合适的方法,大家帮我分析分析!
...全文
172 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sdwulibo 2016-03-09
  • 打赏
  • 举报
回复
既然是网站,为什么要用SQL语句来实现,程序控制不是更好吗?
小灰狼W 2016-03-06
  • 打赏
  • 举报
回复
SQL语句可以写,但是效率不高,实际应用中意义不大。存储过程相对好点,但是也不合理 如果系统是这么设计的,那么这就属于比较大的缺陷。正常的设计中,在流水表里应该有当天新增积分,以及当时的总积分;用户表中应该有当前积分,和已连续登陆天数
卖水果的net 2016-03-06
  • 打赏
  • 举报
回复
签到表里增加一个当日积分的列。
z123zjf 2016-03-06
  • 打赏
  • 举报
回复
月份分组,连续的日期排序,然后再做6的余数

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧