SQL相关

MySQL查询优化技巧
本文探讨了MySQL查询的一些常见误区,包括使用LIMIT 1查询单条数据的效率问题及IN操作符能否利用索引的情况。此外,还提供了一个复杂的SQL案例,用于找出每个班级的前三名学生。

1.网上说对没有索引的列,查询单条数据时,使用limit1会提高效率,查询到就会返回。

但是自己试了试5.5版本,扫描行数是一样的。

2.有说in的时候不会使用索引

试了下5.5版本,能用到索引。


班级,名字,成绩 , 求每个班的前三名
select * from table1 a where
not EXISTS(select * from  table1 b   where a.class = b.class and a.score < b.score
GROUP BY b.class  having count(*)>2
)order by class , score desc;


not exists中返回的是false或者true
是外层的表逐条的与exists里面的数据进行对比,判断是否符合

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值