1.一个班级的学生分数表如下:
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名,分数相同则并列排名,排名不间断),下列哪项查询语句正确
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;
按照题干要求的排名可并列且不间断,应该使用dense_rank() over()函数,以s_score降序排列:
A选项,limit是分页查询,limit 20,9999在此处情景理解成第21条数据到last,但当前20条数据出现并列排名时不符合要求,排除
B选项,当使用别名作为输出列时,无法在where查询中直接使用该列作为查询条件,否则将报错‘Unknown column 's_rank' in 'where clause',排除
C选项,row_number() over()不会有排名并列,排除
D选项,是B选项的改进,外面加一个select查询,不直接对r_rank进行条件查询,正确
UID | 学历 | 收入 | 性别 | 区域 | 是否使用此服务 |
1 | 博士 | 低 | 男 | 北方 | 是 |
2 | 本科 | 中 | 女 | 北方 | 否 |
3 | 本科 | 高 | 男 | 南方 | 否 |
4 | 硕士 | 中 | 女 | 北方 | 是 |
A、学历
B、收入
C、性别
D、区域
按照学历进行划分后,此时熵为0;按照其他属性进行划分时,熵均大于0。由熵最小原则可知,按照学历进行划分增益最大。
3.以下程序输出的结果是
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']
b = a[:-1]表示从a的第一个元素复制到最后一个元素之前(切片[ ) ),给b
c = a[:]表示从a的第一个元素复制到最后一个元素,给c
d = a[::-1]表示从a的最后一个元素复制到第一个元素,给d
4.现在有一个新类型的数据库崛起,叫NoSQL,以下哪个数据库不属于NoSQL
A、MongoDB
B、Redis
C、SQL Server
D、Hbase
SQL Server ,My SQL等属于关系型数据库
5.以下关于mysql的使用操作说法不恰当的一项是:()
A、业务上具有唯一特性的字段,建议设定为唯一索引
B、超过三个以上的表不建议join
C、页面搜索建议使用左模糊或全模糊
D、利用延迟关联或者子查询优化超多分页场景
索引文件具有 B-Tree 的最左前缀匹配特性,如果左边的值未确定,那么无法使用此索引。因此页面搜索严禁左模糊或者全模糊,如果需要请走搜索引擎来解决。
6.Mapreduce中的Combine是发生在()阶段的()操作?
A、Map,Map
B、Map,Reduce
C、Reduce,Map
D、Reduce,Reduce
Combine是发生在Map阶段的Reduce操作,减少数据量,节省网络带宽,起到优化作用。
7.某个资源的http响应头如下,下列说法正确的是?
1 2 3 4 5 6 |
|
A、该响应头表示资源成功被请求
B、该响应头表示此次连接是非持久性连接
C、该响应头表示请求超时了
D、响应没有包含消息主体
返回404,表示资源不在被请求服务器上;Connection: keep-alive 表示是持久性连接;Content-Length: 0 表示没有消息主体。