sql
奶茶是胖胖的命
这个作者很懒,什么都没留下…
展开
-
开窗函数介绍
上述sql语法有误,因为sql的执行顺序,先执行from,再执行where去筛选,最后执行select,所以执行where的时候 没有row_number1这个字段,row_number(),rank(),dense_rank()这三个函数都是用于返回结果集的分组内每行的排名。row_number:不管排名是否有相同的,都按照顺序1,2,3...n。rank:排名相同的名次一样,同一排名有几个,后面排名就会跳过几次。dense_rank:排名相同的名次一样,且后面名次不跳跃。(用子查询时,需要给表取别名)原创 2024-08-11 21:16:48 · 316 阅读 · 0 评论 -
SQL条件放在on、where、having的区别
1.如果我们的过滤条件需要基于聚合函数运算后的结果,那就需要放在聚合函数运算后用having过滤,如:要找到平均分大于60的班级,总分大于300分的学生等。(如果我们选择用on,比如on t2表中的某个字段值为1,如果t1与t2左关联后,on条件没有匹配上的话,t2的值就会为null)2.on条件关联好后,对于生成的数据,再用where条件过滤时,会存在将主表数据过滤掉的情况。3.如果我们的过滤条件不基于聚合函数运算后的结果,但要求保留主表所有的数据,那就用on。原创 2024-07-23 21:59:21 · 251 阅读 · 0 评论