首页 > 代码库 > MYSQL查找从小到大排列第90%个位置的数据
MYSQL查找从小到大排列第90%个位置的数据
方法一(存储过程实现):
begin
DECLARE cnt INT DEFAULT 0;
select count(*) into cnt from user;
set cnt = round(cnt*0.9)-1;
select * from user limit cnt, 1;
end
方法二(直接查询,,只有查询权限的时候可以考虑):
这种方法也是解决mysql limit后面不支持变量的问题
SELECT COUNT(*) INTO @cnt FROM cmb_loading_count_20141013 WHERE ver>=1003002251;
SET @cnt = ROUND(@cnt*0.9)-1;
SET @stmt = ‘select loading_time from cmb_loading_count_20141013 where ver>=1003002251 order by loading_time asc limit ?,?‘;
PREPARE s1 FROM @stmt;
SET @end = 1;
EXECUTE s1 USING @cnt,@end;
DEALLOCATE PREPARE s1;
参考:
http://www.2cto.com/database/201309/241093.html
MYSQL查找从小到大排列第90%个位置的数据
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。