首页
学习
活动
专区
圈层
工具
发布

MySQL获取分组后的TOP 1和TOP N记录

有时会碰到一些需求,查询分组后的最大值,最小值所在的整行记录或者分组后的top n行的记录,在一些别的数据库可能有窗口函数可以方面的查出来,但是MySQL没有这些函数,没有直接的方法可以查出来,可通过以下的方法来查询...90 | | 8 | 李四 | 英语 | 50 | | 9 | 王五 | 英语 | 89 | +----+--------+--------+-------+ TOP...1 查询每门课程分数最高的学生以及成绩 1、使用自连接【推荐】 root:test> select a.name,a.course,a.score from -> test1 a ->...王五 | 数学 | 99 | | 张三 | 英语 | 90 | +--------+--------+-------+ 3 rows in set (0.00 sec) TOP...N N>=1 查询每门课程前两名的学生以及成绩 1、使用union all 如果结果集比较小,可以用程序查询单个分组结果后拼凑,也可以使用union all root:test> (select name

4.1K41
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Excel公式练习58: 获取与查找值相对应的多个值

    本次的练习是:如下图1所示,单元格区域A1:B7中存放着数据,要求使用公式查找单元格D2中的分类对应的名称。例如,单元格D2中是“水果”,则从列B中获取是水果的名称并放置在列E中。 ?...图1 要求在E2中输入公式,向下拖拉以获取全部满足条件的数据。 先不看答案,自已动手试一试。...公式解析 公式中的: COUNTIF(A:A,$D$2)<ROWS($E$2:E2) 用来计算符合条件的结果数,并与已放置值的单元格数(已返回的值)相比较,以确定在单元格中输入的值。...FALSE;6;FALSE},ROW(A1))) 转换为: INDEX(B:B,SMALL({2;3;FALSE;FALSE;6;FALSE},1)) 转换为: INDEX(B:B,2) 得到单元格B2中的值...: 苹果 当向下拖拉时,ROW(A1)将更新为ROW(A2)、ROW(A3)……,得到值2、3……等,从而可以获取相应位置的值。

    5.5K40

    多分组的PCA图和top基因热图

    多分组的PCA图和top基因热图在转录组和蛋白组的差异分析中,我们常常在质控阶段需要做一下样本的PCA图和标准差top 基因的表达,来评价组内差异和组间差异。...以前主要做的二分组的比较,要想把多个分组的信息放在一张PCA图或者热图上,只需修改下Group值就行。...# 2.top 1000 sd 热图---- g = names(tail(sort(apply(exp,1,sd)),200)) #day7-apply的思考题n = exp[g,]library(pheatmap...annotation_col = data.frame(row.names = colnames(n), Group = Group)pdf("figure/top200...:匹配最后一个点号之前的所有内容。替换为空,保留最后一个点号后的内容。sub("\\d+$", "", ...)\\d+$:匹配末尾的所有数字。替换为空,去除末尾的数字。P1P2

    94310

    SQL 获取状态一致的分组

    星星点灯是一家水果店,它提供了外卖水果拼盘的服务。水果店能够提供四种水果拼盘:水果魔方、海星欧蕾、猫头鹰、草莓雪山,下表反应了某一时刻店内的水果的准备情况。...当有客户订水果拼盘时,只有拼盘要用到的所有水果都准备好了才能制作。 现在,我们要写 SQL 找出可以立即制作的水果拼盘的名称。 实现的方式比较多,有一种是通过数量去判断。...比如水果魔方,它需要的水果有 5 种,当这些水果处于准备好的状态的数量也为 5 时,它就可以被制作了。...我们可以换另一种表达,当某个水果拼盘下没准备好的水果的数量为 0 时,这个拼盘可以被制作。...,那就说明不存在没准备好的水果。

    1.2K30

    关于薪酬分位值的自动分组计算

    在薪酬模块的数据分析中,我们经常要对层级和岗位的薪酬数据进行各个分位值的计算,但是由于公司架构的变动,我们层次和岗位也都会变动,一旦这些做了变动,我们如何快速的自动能调整各个层级的分位值数据呢,以前我们的方法是对原始的数据表进行数据透视表...,然后在透视表中进行筛选,再做数据的各个分位值计算 比如下面是对各个职级做数据透视表,然后再按照职级进行分类,再通过PERCENTILE的函数来算各个职级的分位值数据。...那如何解决这个问题呢,就是说不管我的层级数据怎么进行改变,我的各个分位值的数据都会随着原始的数据进行变化。...我们先来看下面这张表 这是一个比较简单的各个职级的薪酬数据,我们需要求每个职级的各个分位值数据,然后要求如果我的职级人数增加了,对应的分位值也要跟着做变化。...,只需要用PERCENTILE函数去取L列的数据即可,函数如下 就可以获得各个分位值的数据,即使在D列和L列数据增加的情况下,各个职级的分位值数据都会自动的进行变化,动画图如下:

    1.7K10

    Oracle实现like多个值的查询

    问题背景描述: 某天客户有一个需求,给定一批的手机号码或者电话号码,查询出相关的通话记录,以及相关的一些信息。...客户给定的被叫号码如图所示: 查询出来的结果如下图所示(本批次的结果不是上图导入的结果查询的,为了格式说明,因此导入两张结果不相关的图片): 由于客户给的被叫号码很不规范,查询的时候比较麻烦。...,settle_carrier,file_name from t_phonebill_201702 a where a.org_callee_num like '%13800100186%' 但是这样的号码有好多个...,有时候有一百多个,以上的sql只能查询一个号码的通话记录 一开始我想用游标实现,写一个游标,把被叫号码放入游标中,然后写一个循环,每次都依次查询一下, 但后来发现t_phonebill_201702数据量太大...,可以考虑使用简版,简版更易于了解,也能更清楚明白like多个值是如何实现的,但使用exists总是一个好习惯。

    4.7K10

    VBA自定义函数:一次查找并获取指定表格中的多个值

    标签:VBA,自定义函数 这个自定义函数来自于forum.ozgrid.com,可以在指定表中查找多个值,并返回一组结果,而这些结果可以传递给另一个函数。...IDs(i), Table, TargetColumn, False) Next MultiVLookup = Result End Function 其中,参数是ReferenceIDs代表要查找的值...;参数Table是包含查找内容的表;参数TargetColumn代表表中返回结果的列;参数Delimeter代表分隔符,可选,取决于第一个参数。...例如,下图1所示的数据,表名为MyTable。...图1 要查找MyTable表中A、B、D对应的第2列的值并求和,可使用公式: =SUM(MultiVLookup("A,B,D",MyTable,2)) 或者,将要查找的值放在一个单元格中,然后使用公式来查找相应的值

    2.6K10

    GEO数据挖掘2(分组+探针注释的获取)

    分组:看pd数据的表格 查看哪里可以看到分组依据某一列包含了单独分组信息,(一般只包含1~2个单词),直接提取图片Group = pd$`disease state:ch1` 在网页上or自己数有几个分组..."control", "RA") 把分组的数据类型变成因子型数据,因子型数据可以理解为有高低顺序的分类变量Group = factor(Group,levels = c("control...","RA")) #level是水平,要把control组放在第一个位置获取探针注释:啥是探针注释?...——是探针id和基因名(symbol)的对应关系获取途径:1.bioconductor的注释包:http://www.bio-info-trainee.com/1399.html 在该网页找到基因平台号对应的...str\_detect(ids2$symbol,"///");table(k2) ##去掉对应多个基因名的探针id ids2 = ids2[ k1 & k2,]并不一定所有的探针注释中开放性探针都是"

    2.8K31

    C++的函数如何返回多个值?

    对于C++语言而言,其不能像Python等语言一样在一个函数中返回多个返回值;但是我们也会经常遇到需要返回两个甚至更多个值的需求。...针对这种情况,我们可以通过pair、tuple(元组)等数据结构,实现C++函数返回两个或多个返回值的需求。本文就以pair为例,介绍二者的具体用法。   ...>类型的变量,并将函数的返回值赋给它。...pair_paf.first; double* miss_rate_paf = pair_paf.second; return 0; }   随后,通过.first与.second命令,分别获取...至此,我们即实现了通过一个C++函数返回两个返回值的方法。   如果需要返回三个或更多的返回值,则可以基于tuple(元组)这一数据结构,用类似于上述操作的方法来实现。

    4K10
    领券