千家信息网

mysql中如何查询前50%的数据

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章给大家分享的是有关mysql中如何查询前50%的数据的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。实验环境:create table t (c int);inser
千家信息网最后更新 2025年02月02日mysql中如何查询前50%的数据

这篇文章给大家分享的是有关mysql中如何查询前50%的数据的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

实验环境:

create table t (c int);
insert into t values
(15),(7),(9),(10),(7),(8),(20),(16),(9),(19),
(14),(10),(11),(10),(10),(12),(7),(10),(7),(9);
commit;



c 等于10,7,9的数量有 11个,超过了半数。
超过半数的 item信息。

通用方式,不依赖具体数据库。


  1. select t5.*,t6.*,ifnull(round(t5.sumtotal/t6.total,2),0) result from (

  2. select t3.rn,t3.total,t3.c,sum(ifnull(t4.total,0)) sumtotal from (

  3. select

  4. t1.*,

  5. (

  6. select count(case when t2.total>t1.total then 1 when t2.total=t1.total and t2.c

  7. select c,count(*) total from t group by c

  8. ) t2

  9. ) rn

  10. from(

  11. select c,count(*) total from t group by c order by total desc ,c

  12. ) t1

  13. ) t3

  14. left join(

  15. select

  16. t1.*,

  17. (

  18. select count(case when t2.total>t1.total then 1 when t2.total=t1.total and t2.c

  19. select c,count(*) total from t group by c

  20. ) t2

  21. ) rn

  22. from(

  23. select c,count(*) total from t group by c order by total desc ,c

  24. ) t1

  25. ) t4 on (t3.rn> t4.rn)

  26. group by t3.rn,t3.total,t3.c

  27. ) t5

  28. left join(

  29. select count(*) total from t

  30. ) t6 on(1=1)

  31. where ifnull(round(t5.sumtotal/t6.total,2),0)<=0.5;

查询结果:


绑定MySQL的实现

  1. select * from (

  2. select t3.*,case when result<=0.5 then 1 when result>0.5 and @b=-1 then @b:=1 else null end r from (

  3. select t1.*,round((@a:=@a+t1.total)/t2.total,2) result from (

  4. select c,count(*) total from t,(select @a:=0,@b:=-1) vars group by c order by 2 desc

  5. ) t1

  6. left join(

  7. select count(*) total from t

  8. ) t2 on(1=1)

  9. ) t3 order by result

  10. ) t4 where r=1;


结果:


感谢各位的阅读!关于"mysql中如何查询前50%的数据"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

数据 查询 内容 更多 篇文章 结果 不错 实用 信息 数据库 数量 文章 方式 环境 看吧 知识 参考 实验 帮助 有关 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 河南华为服务器维修调试哪家便宜 数据库缓存技术都有哪些 服务器硬盘状态显示就绪 数据库系统工程师专业英语 网络安全小故事用英语 数据库给当前日期定义 数据库技术专业就业 计算机软件开发合同纠纷解释 有关网络安全性研究的论文 绍兴软件开发驻场哪家正规 云服务器防护小技巧 金山软件公司软件开发经理待遇 宣传网络安全法手抄报 lol服务器现在怎么样 政法委对网络安全汇报 数据库中的约束方式 java游戏服务器开发大厂 中国网络安全产业市场规模 公安维护两会期间网络安全 软件开发 笔记本 dell 网络安全注册师证 安徽信一企互联网科技有限公司 软件开发技术排行 数据库如何实现利息计算 服务器运行中怎么看硬盘是否损坏 网络技术专升本英语考题 数据库文本框怎么绑定数据 用代理服务器访问微信 软件开发平台排行 网络安全保密责任书
0