窗口函数
- 仅支持MySQL8.0以上的版本
- 排名问题:每个部门按业绩来排名
- 窗口函数有rank, dense_rank, row_number
- 优点不会像group by 一样一行只留一列
窗口函数的区别
- rank 同名次的会并列名次,但index仍然会继续走下去 (即如果2人并列第五名,那么下一人会是第七名 而没有第六名)
- dense_rank 同名次会并列,但是索引不往下走
- row_number 同名此不会并列
窗口函数语法
select
col1,col2,col3....,
rank() over(partition by col ORDER BY col desc) as raking
from table where ....
具体参这位大佬的文章
windos环境下mysql数据库自动备份
- 新建一个txt文件
- 把下面代码按照你的需求放进去
- 把后缀改成.bat
- win+R ——》输入taskschd.msc 进到计划任务 把这个脚本加入到计划任务
rem ******MySQL backup start******
@echo off
::删除一周前的备份数据 这里"D:\Mysql_BakUp\" 换成你备份文件夹路径
forfiles /p "D:\Mysql_BakUp\" /m backup_*.sql -d -7 /c "cmd /c del /f @path"
forfiles /p "D:\Mysql_BakUp\" /m backup_*.sql -d -7 /c "cmd /c del /f @path"
::设置时间变量 用于保存的时候自带时间
if %time:~0,2% leq 9 (set hour=0%time:~1,1%) else (set hour=%time:~0,2%)
set "Ymd=%date:~0,4%%date:~5,2%%date:~8,2%%hour%%time:~3,2%%time:~6,2%"
::进入mysql安装目录的bin目录下
cd C:\Program Files\MySQL\MySQL Server 8.0\bin\
::执行备份操作 >后面是你自己的备份文件夹和上面一样
mysqldump --opt --single-transaction=TRUE --user=root --password=数据库密码 --host=ip地址 --protocol=tcp --port=3306 --default-character-set=utf8 --single-transaction=TRUE --routines --events "DBName" > D:\Mysql_BakUp\test\backup_%Ymd%.sql
如果需要备份多个数据库把上面这条复制多分修改路径就行
@echo on
rem ******MySQL backup end******
pause
脚本执行完后不主要自动关闭
具体参考