返回顶部
首页 > 资讯 > 数据库 >mysql中如何查询前50%的数据
  • 195
分享到

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

2024-04-02 19:04:59 195人浏览 独家记忆
摘要

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

这篇文章给大家分享的是有关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; 


mysql中如何查询前50%的数据
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<t1.c then 1 else null end)+1 from (

  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<t1.c then 1 else null end)+1 from (

  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中如何查询前50%的数据

绑定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%的数据

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

您可能感兴趣的文档:

--结束END--

本文标题: mysql中如何查询前50%的数据

本文链接: https://lsjlt.com/news/62289.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • mysql中如何查询前50%的数据
    这篇文章给大家分享的是有关mysql中如何查询前50%的数据的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 实验环境: create ta...
    99+
    2024-04-02
  • mysql中如何查询前90%的数据值
    这篇文章主要为大家展示了“mysql中如何查询前90%的数据值”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql中如何查询前90%的数据值”这篇文章吧。 ...
    99+
    2024-04-02
  • MySQL中如何查询当前时间间隔前1天的数据
    这篇文章主要介绍“MySQL中如何查询当前时间间隔前1天的数据”,在日常操作中,相信很多人在MySQL中如何查询当前时间间隔前1天的数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL中如何查询当前时...
    99+
    2023-06-21
  • php如何查询mysql中的数据数量
    本文小编为大家详细介绍“php如何查询mysql中的数据数量”,内容详细,步骤清晰,细节处理妥当,希望这篇“php如何查询mysql中的数据数量”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。一、连接 MySQL ...
    99+
    2023-07-05
  • MySQL中查询当前时间间隔前1天的数据
    1.背景 实际项目中我们都会遇到分布式定时任务执行的情况,有时定时任务执行的时候如果查询的数据量比较大时,我们会选择执行时间间隔几天前的数据筛选后进行执行。 避免执行全量的数据导致内...
    99+
    2024-04-02
  • 如何查询php mysql的数据
    如何查询php mysql的数据?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。php mysql查询数据的方法:首先创建php mysql...
    99+
    2024-04-02
  • MySQL是如何查询数据的
    本篇内容介绍了“MySQL是如何查询数据的”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!上一篇我们说到了关...
    99+
    2024-04-02
  • 如何查询mysql的数据库
    本篇内容介绍了“如何查询mysql的数据库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! ...
    99+
    2024-04-02
  • mysql查询前30条数据的方法
    这篇文章将为大家详细讲解有关mysql查询前30条数据的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。mysql查询前30条数据的方法:可以通过执行【SELEC...
    99+
    2024-04-02
  • mysql数据表如何查询
    查询 mysql 数据表可以通过使用 select 语句来检索表中的数据。步骤如下:1. 建立连接;2. 编写 select 语句;3. 执行语句;4. 获取结果;5. 关闭连...
    99+
    2024-06-14
    mysql
  • mysql如何查询数据数量
    要查询数据表中的数据数量,可以使用以下SQL查询语句: SELECT COUNT(*) FROM table_name; ...
    99+
    2024-04-12
    mysql
  • mysql中如何查询数据库中的表名
    目录查询数据库中的表名查询一个数据库中含有某关键词的表名查询数据库中所有的表总结查询数据库中的表名 查询一个数据库中含有某关键词的表名 搜索一个数据库中包含一些关键字,词的表。 SELECT TABLE_NA...
    99+
    2022-12-21
    mysql查询 查询数据库的表名 mysql查询表名
  • mysql如何查询表中所有数据
    要查询MySQL表中的所有数据,可以使用SELECT语句。以下是查询表中所有数据的示例:```SELECT * FROM 表...
    99+
    2023-09-26
    mysql
  • mysql如何查询今天的数据
    mysql如何查询今天的数据?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!mysql查询今天的数据的方法:【SELEC&#...
    99+
    2024-04-02
  • mysql如何查询一年的数据
    这篇文章主要介绍了mysql如何查询一年的数据的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇mysql如何查询一年的数据文章都会有所收获,下面我们一起来看看吧。 ...
    99+
    2024-04-02
  • mysql如何查询某天的数据
    这篇文章主要介绍“mysql如何查询某天的数据”,在日常操作中,相信很多人在mysql如何查询某天的数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”mysql如何查询某天的...
    99+
    2024-04-02
  • mysql如何查询表的数据量
    这篇文章主要介绍“mysql如何查询表的数据量”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mysql如何查询表的数据量”文章能帮助大家解决问题。 ...
    99+
    2024-04-02
  • mysql怎么查询当前数据库的表
    要查询当前数据库的表,可以使用以下 SQL 查询语句: SHOW TABLES; 这条 SQL 查询语句会返回当前选定数据库中所有...
    99+
    2024-04-15
    mysql
  • 如何实现MySQL中查询数据的语句?
    如何实现MySQL中查询数据的语句?MySQL是目前最常用的关系型数据库之一,广泛应用于开发企业级应用和网站。在使用MySQL时,最常用到的功能之一就是查询数据。本文将带你了解如何通过MySQL的查询语句来获取所需的数据,并提供具体的代码示...
    99+
    2023-11-08
    MySQL语句查询
  • MySQL数据查询中如何使用集合/聚合函数查询
    小编给大家分享一下MySQL数据查询中如何使用集合/聚合函数查询,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!MySQL聚合函数如下:函数作用avg()返回某列的平均值count()返回某...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作