mysql 查询分组top_【mysql】【分组】后取每组的top2

DROP TABLE IF EXISTS `tb1`;

CREATE TABLE `tb1` (

`id` int(11) NOT NULL AUTO_INCREMENT,

`a` varchar(255) DEFAULT NULL,

`b` varchar(255) DEFAULT NULL,

`content` varchar(255) DEFAULT NULL,

PRIMARY KEY (`id`)

)

-- ----------------------------

INSERT INTO `tb1` VALUES ('', 'a', '', 'aaa');

INSERT INTO `tb1` VALUES ('', 'a', '', 'bbb');

INSERT INTO `tb1` VALUES ('', 'a', '', 'ccc');

INSERT INTO `tb1` VALUES ('', 'b', '', 'ddd');

INSERT INTO `tb1` VALUES ('', 'b', '', 'eee');

3779064828be4b0f9ff66b3d5583347e.png

代码:

select *

from tb1 k

where 2>(select count(*) from tb1 where k.a=a and id>k.id);

效果:

4296d344950c30829a094bddbef2583f.png

原理:

待续...

MySQL 分组后取每组前N条数据

与oracle的 rownumber() over(partition by xxx  order by xxx )语句类似,即:对表分组后排序 创建测试emp表 1 2 3 4 5 6 7 8 9 ...

mysql 分组后取每个组内最新的一条数据

首先,将按条件查询并排序的结果查询出来. mysql order by accepttime desc; +---------------------+------+-----+ | acceptti ...

MSSQL 分组后取每组第一条(group by order by)

查询中经常遇到这种查询,分组后取每组第一条.分享下一个SQL语句: --根据 x 分组后.根据 y 排序后取第一条 select * from ( select ROW_NUMBER() over(p ...

oracle分组后取每组第一条数据

数据格式: 分组取第一条的效果: sql语句: SELECT * FROM ( ;

oracle 分组后取每组第一条数据

‘数据格式 分组取第一条的效果 sql SELECT * FROM (SELECT ROW_NUMBER() OVER(PARTITION BY x ORDER BY y DESC) rn, test ...

sql 用Group by分组后,取每组的前几条记录

转自:http://blog.163.com/jeson_lwj/blog/static/135761083201052411115783/ --查询每门课程的前2名成绩 CREATE TABLE S ...

java stream 处理分组后取每组最大

有一个需求功能:先按照某一字段分组,再按照另外字段获取最大的那个 Map configMap = configList.parallelStr ...

分组后取每组内排名的Top N的SQL语句

给个MySQL例子参考 -----查询每门课程的前2名成绩 CREATE   TABLE   StudentGrade( stuId   CHAR(4),         --学号 subId   I ...

oracle分组后取某组中最大的值

查询username,根据fundcode分组,按照date倒序,取date最大的一条数据 select * from ( select username, row_number() over(par ...

随机推荐

BZOJ 3365 Distance Statistics 点分治

这道题是一道点分治的题目,难度不大,可以拿来练手. 关键是对于找出来的重心的删除操作需要删掉这条边,这很重要. 还有每次找重心的时候,不但要考虑他的子节点的siz,还要考虑父节点的siz. 然后就A了 ...

WPF中弹出文件夹浏览对话框

附一个共享目录正则表达式判断: bool result= System.Text.RegularExpressions.Regex.IsMatch("\\pc-test\share&quot ...

openstack 常用命令

转自: docs.openstack.org $ nova boot --image ubuntu-cloudimage --flavor 1 --user-data mydata.file

csuoj 1114: 平方根大搜索

http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1114 1114: 平方根大搜索 Time Limit: 5 Sec  Memory Limit:  ...

compiler

http://www.lingcc.com/2012/05/16/12048/ a list of compiler books — 汗牛充栋的编译器参考资料 Posted on 2012年5月16日 ...

服务器压力测试 ab

1.ab命令原理 Apache自带的ab命令模拟多线程并发请求,测试服务器负载压力,也可以测试nginx.lighthttp.IIS等其它Web服务器的压力(测试其它服务器时需单独下载ab压力测试工具 ...

小工具:内存监视器(SystemMonitor)

卸了360之后,与之捆绑的加速球也没了.加速球可以查看剩余内存量,清理残留进程,有的时候不觉得这小玩意有多大作用,卸了之后才知道后悔. 加速球的替代方案比比皆是,如Windows自带的任务管理器,窗口 ...

CUDA零内存拷贝 疑问考证

今天思考了一下CUDA零内存拷贝的问题,感觉在即将设计的程序中会派上用场,于是就查了一下相关信息. 以下是一些有帮助的链接: cuda中的零拷贝用法--针对二维指针 cuda中的零拷贝用法--针对一维 ...

请用java解析下xml

Java   XML简介 XML(EXtensible Markup Language)  可扩展标记语言 可以说是一个文本文件 作用数交互  配置应用程序 Xml解析技术 三种方式 Dom 文档数据 ...

15.翻译系列:EF 6中的级联删除【EF 6 Code-First 系列】

原文链接:https://www.entityframeworktutorial.net/code-first/cascade-delete-in-code-first.aspx EF 6 Code- ...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值