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

有时会碰到一些需求,查询分组后的最大值,最小值所在的整行记录或者分组后的top n行的记录,在一些别的数据库可能有窗口函数可以方面的查出来,但是MySQL没有这些函数,没有直接的方法可以查出来,可通过以下的方法来查询。 准备工作 测试表结构如下: 插入数据: 查看结果: TOP 查询每门课程分数最高的学生以及成绩 使用自连接 推荐 使用相关子查询 或者 TOP N N gt 查询每门课程前两名的学 ...

2016-11-04 11:47 2 41629 推荐指数:

查看详情

Mysql相关子查询&&MySQL获取分组TOP N记录

小燕子,哈哈哈哈~~~~~~~~~~ 相关子查询是指引用了外部查询列的子查询,即子查询会对外部查询的每行进行一次计算。 举个例子 使用相关子查询 分析下这个s ...

Fri Apr 21 23:37:00 CST 2017 0 1650
MySQL:如何查询出每个分组中的 top n记录

问题描述 需求: 查询出每月 order_amount(订单金额) 排行前3的记录。 例如对于2019-02,查询结果中就应该是这3条: 解决方法 MySQL 5.7 和 MySQL 8.0 有不同的处理方法。 1. MySQL 5.7 我们先写一个查询语句 ...

Tue Jan 07 02:42:00 CST 2020 0 219
MySQL查询top N记录

下面以查询每门课程分数最高的学生以及成绩为例,演示如何查询 top N记录。下图是测试数据,表结构和相关 insert 脚本见《常用SQL之日期格式化和查询重复数据》。 使用自连接【推荐】 执行,结果集如下: 使用 ...

Thu Sep 26 04:53:00 CST 2019 0 1001
SQL Server 分组Top N

  近日,工作中突遇一需求:将一数据表分组,而后取出每组内按一定规则排列的前N条数据。乍想来,这本是寻常查询,无甚难处。可提笔写来,终究是困住了笔者好一会儿。冥思苦想,遍查网络,不曾想这竟然是SQL界的一个经典话题。今日将我得来的若干方法列出,抛砖引玉,以期与众位探讨。   正文之前,对示例表 ...

Sun Dec 23 06:10:00 CST 2012 0 24688
SQL Server 分组Top N

SQL Server 分组Top N(转)   近日,工作中突遇一需求:将一数据表分组,而后取出每组内按一定规则排列的前N条数据。乍想来,这本是寻常查询,无甚难处。可提笔写来,终究是困住了笔者好一会儿。冥思苦想,遍查网络,不曾想这竟然是SQL界的一个经典话题。今日将我得来的若干 ...

Fri Apr 22 04:33:00 CST 2016 0 1664
Hive分组Top N

Hive在0.11.0版本开始加入了row_number、rank、dense_rank分析函数,可以查询分组排序top值 说明: row_number() over ([partition col1] [order by col2] ) rank ...

Mon Jun 08 22:27:00 CST 2015 1 7865
SQL之分组排序取top n

转自:http://blog.csdn.net/wguangliang/article/details/50167283 要求:按照课程分组,查找每个课程最高的两个成绩。 数据文件如下: 第一列no为学号,第二列course为课程,第三列score为分数 [plain] view ...

Wed Sep 27 21:08:00 CST 2017 0 2204
Hive多字段分组Top N且保留某列不相同记录

一、问题背景 1.先吐槽一下中国联通自己的大数据开放能力平台提供的计算集群,Hive用的1.1,Spark用的1.5,Kafka0.8,我的天呐,原始的让人抓狂,好多已经写好的模型都要重写. ...

Sat Sep 15 06:52:00 CST 2018 0 925
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM