MYSQL 周统计函数 data_format YEARWEEK​​​​​​​


周转换函数采用 data_format,修饰符 %x-%v

    select date_format("2018-12-31","%x-%v")

    %x :年,星期一是周的第一天
    %v :周, 星期一是周的第一天

该函数中的跨年周统计 :

    下一年的第一个周一之前的天数如果能超过3天(不包括3天),那么计算为第 1 周。否则就计算为上一年的最后一周(例:20160101-20160103 归为2015年第53周 );
    上一年的最后一天为一周的第一天,则计算为下一年的第一周。(例:2018-12-31 归为2019第1周)

 

周转换函数采用YEARWEEK,参数mode

      select YEARWEEK('2018-12-31', 1)

 

参考链接 

https://blog.csdn.net/lifuxiangcaohui/article/details/50953018 

https://my.oschina.net/u/1417838/blog/1620169

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
这是一条SQL语句,用于查询t_lottery_statistics_prize表中按照抽奖中奖次数降序排列的前5条数据,条件是统计日期为当。具体解释如下: - `SELECT *`: 查询t_lottery_statistics_prize表中的所有数据。 - `FROM t_lottery_statistics_prize`: 指定查询的数据表为t_lottery_statistics_prize表。 - `WHERE YEARWEEK(date_format(now(),'%Y-%m-%d')) = YEARWEEK(statistics_date)`: 指定查询条件为统计日期为当。其中,YEARWEEK()函数可以返回日期所在的年份和数,date_format()函数可以将当前日期格式化为年-月-日的形式。 - `ORDER BY lottery_win_count DESC`: 指定按照lottery_win_count字段降序排列,即中奖次数多的排在前面。 - `LIMIT 5`: 指定只查询前5条数据。 如果您使用的是SpringBoot和Mybatis框架,可以在对应的Mapper接口中定义对应的方法,用于执行这条SQL语句: ```java public interface LotteryStatisticsPrizeMapper { List<LotteryStatisticsPrize> getWeeklyRanking(); } ``` 在对应的Mapper.xml文件中编写SQL语句: ```xml <select id="getWeeklyRanking" resultType="com.example.demo.entity.LotteryStatisticsPrize"> SELECT * FROM t_lottery_statistics_prize WHERE YEARWEEK(date_format(now(),'%Y-%m-%d')) = YEARWEEK(statistics_date) ORDER BY lottery_win_count DESC LIMIT 5; </select> ``` 在Service中调用Mapper的方法: ```java @Service public class LotteryStatisticsPrizeService { @Autowired private LotteryStatisticsPrizeMapper lotteryStatisticsPrizeMapper; public List<LotteryStatisticsPrize> getWeeklyRanking() { return lotteryStatisticsPrizeMapper.getWeeklyRanking(); } } ``` 最后在Controller中调用Service的方法,并返回数据给前端: ```java @RestController public class LotteryStatisticsPrizeController { @Autowired private LotteryStatisticsPrizeService lotteryStatisticsPrizeService; @GetMapping("/weeklyRanking") public List<LotteryStatisticsPrize> getWeeklyRanking() { return lotteryStatisticsPrizeService.getWeeklyRanking(); } } ``` 以上是使用SpringBoot和Mybatis框架实现获取中奖奖品的排名并返回数据的完整代码实现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值