-
一个班级的学生分数表如下:
CREATE TABLE IF NOT EXISTS students (s_id int(11) PRIMARY KEY,
s_name varchar(22) NOT NULL,
s_score int(11) NOT NULL
);
现要查询排名在20之后的学生信息并加入排名s_rank(不包括第20名,分数相同则并列排名,排名不间断),下列哪项查询语句正确(D)
A.select * from (select *,dense_rank() over(order by s_score desc) r_rank from students) st limit 20,9999;
B.select *,dense_rank() over(order by s_score desc) s_rank from students where s_rank >20;
C.select * from (select *,row_number() over(order by s_score desc) r_rank from students) st where st.r_rank >20;
D.select * from (select *,dense_rank() over(order by s_score desc) r_rank from students) st where st.r_rank >20;
1.审题:不包括第20名、分数相同并列排名、排名不间断。
2.对应知识点:
①SQL语句的排名函数有ROW_NUMBER()、RANK()、DENSE_RANK()。
排名函数 区别 ROW_NUMBER() 不管值是否相同,都会生成唯一的行号,不会有并列的情况,排名是连续的。 RANK() 当有相同的分数时,会得到相同的排名,但后续的排名会跳过这些并列的位置。例如有两个第一名,下一个是第三名不是第二名。(前三有三个人) DENSE_RANK() 相同分数会有相同的排名,但后续的排名不会跳过,而是连续下去。例如,两个第一名,下一个是第二名。(前三有四个人)
- 以下程序输出的结果是(D)
c=['a', 'b', 'd']
y=c[::-1]
y=y[:2]
print(y)
A.[‘a’, ‘b’, ‘d’]
B.[a’, ‘b’]
C.[‘d’, ‘b’, ‘a’]
D.[‘d’, ‘b’]
- 现在有一个新类型的数据库崛起,叫NoSQL,以下哪个数据库不属于NoSQL(C)
A.MongoDB
B.Redis
C.SQL Server
D.Hbase
- 以下关于mysql的使用操作说法不恰当的一项是:©
A.业务上具有唯一特性的字段,建议设定为唯一索引
B.超过三个以上的表不建议join
C.页面搜索建议使用左模糊或全模糊
D.利用延迟关联或者子查询优化超多分页场景 - Mapreduce中的Combine是发生在()阶段的()操作?(B)
A.Map,Map
B.Map,Reduce
C.Reduce,Map
D.Reduce,Reduce - 某个资源的http响应头如下,下列说法正确的是?(D)
A.该响应头表示资源成功被请求
B.该响应头表示此次连接是非持久性连接
C.该响应头表示请求超时了
D.响应没有包含消息主体