零碎小笔记

1、去重 distinct

去重关键字,是以一整行数据为主来进行去重【一整行数据被称为一个元组】

select distinct university,gender from user_profile;

-- 去重结果如下所示:
北京大学	male
复旦大学	male
北京大学	female
浙江大学	female

2、limit关键字的使用

select * from user limit 8; -- 取前8条数据
select * from user limit 4,6; -- 取第4条数据后面的6条数据(意思是从第5条数据开始取)
select * from user limit 4,-1; -- 取第4条数据之后的所有数据。
select * from user limit m,n; -- 偏移m条数据取n条数据,当n=-1时,表示取到最后一条数据结束(全取完)

limit也可以配合offset关键字使用

select * from user limit n offset m; -- 跳过m条数据取n条数据(offset指偏移量)
注意:offset的量不能太大,当offset太大时,会影响查询效率

select b from T where c<1000 limit 2000000,500;
优化之后:
select b from (select a from T where c<1000 limit 2000000,500) ta inner join T tb on ta.a=tb.a;
优化思想:将原先大偏移量的查询语句变成一张临时表,再与原先的数据进行内连接,原理是使索引的使用情况发生了变化
全部评论

相关推荐

10-15 10:57
已编辑
武昌理工学院 FPGA工程师
狠赚笔第一人:老哥学院本没实习还想拿13k学Java狠赚笔呢
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务