SQL之SELECT之PERCENT⽤法介绍
SELECT TOP n PERCENT表⽰返回的前⾯的n%⾏
例:select top 10 percent * from life_unite_product
返回所有记录总量的10%
sql="select top 30 * from data where title='"&title1&"' order by id desc"
原意是选出符合“where 条件”的记录集⾥的“前30条”
但是,对于该SQL语句,由于语句⾥同时存在where和top语句的,并且where条件列不是合适的索引,程序执⾏的是全表扫描,⾸先是查符合where条件的记录,⽽这⾥的top限制形同虚设。如果全表是百万级别以上的数据表,那么就这么⼀个简单的判断,就有可能拖垮数据库。
所以需要先把符合“where条件”的记录,⽤⼀个⼦查询筛选出来,再在筛选结果集⾥选top30。
sql中select是什么意思因为SQL规则规定,如果⼦查询⾥,有order ...,就必须有TOP,所以就⽤SELECT TOP 100 PERCENT来限定,top 100 percent是为了保证筛选出所有符合条件的数据条⽬。
select * from (select top 100 percent * from tb order by score) as a1 (因为你也不知道有多少条记录,所以只能选择显⽰100%)
只是⼦查询,主查询没有要求
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论