关于SQL的一些经典实例
一、TOP n
1、路径问题:
csv_path = "student_score.csv"
df = pd.read_csv(r"D:\Pycharm\pythonProject3\student_score.csv")
文件路径里的 \ 在 Python 中被当作转义字符而非路径分隔符,在字符串开头加 r,表示这是原始
字符串,里面的 \ 不做转义处理
2、窗口函数
ROW_NUMBER() OVER (PARTITION BY class_id ORDER BY score DESC) AS rank_num
窗口函数可以理解为 “带范围的数据计算器”,它能在不改变原表行数的前提下,对 “某一范围内的
行” 进行计算(比如排名、求和、平均值等),就像给数据 “开了一扇窗”,只关注窗户内的数据。
3、RANK()、DENSE_RANK()、ROW_NUMBER()的区别
RANK() 相同值同排名,跳过后续名次 不连续(有间隙) 比赛排名(如奥运会:1 金、2 银、2 银、4 铜)
DENSE_RANK() 相同值同排名,不跳过后续名次 连续(无间隙) 成绩等级(如:90 分以上为 A,80-89 为 B)
ROW_NUMBER() 相同值也生成唯一排名 连续(强制唯一) 需为每行生成唯一序号的场景(如分页)
心得感悟:SQL还是挺方便的,学习起来也不难,继续加油。明天要面试了,有些许紧张。