diff --git "a/29 \350\267\257\347\216\262/20231024 50\351\242\230\347\254\224\350\256\260.md" "b/29 \350\267\257\347\216\262/20231024 50\351\242\230\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..77e9441e4863652b429c928e4e2ad670ff82f839 --- /dev/null +++ "b/29 \350\267\257\347\216\262/20231024 50\351\242\230\347\254\224\350\256\260.md" @@ -0,0 +1,39 @@ +## 笔记 + +一、 + +```mysql +select student_id,(select student_name from student where student_id=s.student_id) from score s ; +当需要连表,查询别的值的时,可在select后 +写select student_name from student where student_id=s.student_id +``` + +二、 + +mysql中week()函数是用来做周的统计和计算,返回日期的周数 + +例如统计今年每周有多少个注册用户 + +SELECT count(id) as count,week(create_time,1) as weeks FROM user WHERE create_time > ‘2020’ and create_time<‘2011’ GROUP BY weeks; + +sql里面的weeks就是第几周 + +WEEK(date, mode);有两个参数 + +1、date是要获取周数的日期 + +2、mode是一个可选参数,用于确定周数计算的逻辑 + +mode参数比较难理解,下面做个表格解释一下 + +模式 一周的第一天 范围 说明 +0 星期日 0-53 +遇到本年的第一个星期天开始,是第一周。前面的计算为第0周。 + +1 星期一 0-53 假如第一周能超过3天,那么计算为本年的第一周。否则为第0周 +2 星期日 1-53 遇到本年的第一个星期天开始,是第一周。 +3 星期一 1-53 假如第一周能超过3天,那么计算为本年的第一周。否则为上年度的第5x周。 +4 星期日 0-53 假如第一周能超过3天,那么计算为本年的第一周。否则为第0周 +5 星期一 0-53 遇到本年的第一个星期一开始,是第一周。 +6 星期日 1-53 假如第一周能超过3天,那么计算为本年的第一周。否则为上年度的第5x周。 +7 星期一 1-53 遇到本年的第一个星期一开始,是第一周。