SQL实现分组查询取前几条记录
我要实现的功能是统计订单日志表中每一个订单的前三条日志记录,表结构如下:

一个订单在定点杆日志表中有多条记录,要根据时间查询出每一个订单的前三条日志记录,sql如下:
select b.OrderNumber,b.creationtime,b.remark FROM
(
SELECT a.OrderNumber,a.CreationTime,a.Remark
FROM [FortuneLabFord].[dbo].[SO_Log] a
where a.SysId IN
(
select TOP 3 SysId from [FortuneLabFord].[dbo].[SO_Log]
where a.OrderNumber = SO_Log.OrderNumber ORDER BY a.CreationTime DESC
)
) b
group BY b.OrderNumber,b.creationtime,b.remark
ORDER BY b.OrderNumber
思路是:先在内层根据CreationTime做排序,然后再自关联一下本身的表,根据主键关联,然后对结果集做分组和排序,这样就能保证同一个订单的三条记录都排在一起
这种查询方法适用于表中有唯一性标识的字段,如果没有唯一性标识的字段就不能这么查了。
SQL实现分组查询取前几条记录的更多相关文章
- MySQL中的RAND()函数使用详解(order by rand() 随机查询取前几条记录)
		
MySQL RAND()函数调用可以在0和1之间产生一个随机数: mysql> SELECT RAND( ), RAND( ), RAND( ); +------------------+--- ...
 - MSSQL—按照某一列分组后取前N条记录
		
以前在开发的时候遇到过一个需求,就是要按照某一列进行分组后取前几条数据,今天又有同事碰到了,帮解决了之后顺便写一篇博客记录一下. 首先先建一个基础数据表,代码如下: IF OBJECT_ID(N'Te ...
 - mysql使用GROUP BY分组实现取前N条记录的方法
		
MySQL中GROUP BY分组取前N条记录实现 mysql分组,取记录 GROUP BY之后如何取每组的前两位下面我来讲述mysql中GROUP BY分组取前N条记录实现方法. 这是测试表(也不知道 ...
 - [转] 分组排序取前N条记录以及生成自动数字序列,类似group by后 limit
		
前言: 同事的业务场景是,按照cid.author分组,再按照id倒叙,取出前2条记录出来. oracle里面可以通过row_number() OVER (PARTITIO ...
 - Sql语句groupBY分组后取最新一条记录的SQL
		
一.问题 groupBY分组后取最新一条记录的SQL的解决方案. 二.解决方案 select Message,EventTime from PT_ChildSysAlarms as a where E ...
 - oracle 取前10条记录
		
1.oracle 取前10条记录 1) select * from tbname where rownum < 11; 2) select * from (select * from tbnam ...
 - Oracle 取前几条记录
		
今天看了篇文章,对oracle取前几条数据的方式和说明,总结比较全,学习了,做个记录点.oracle 取前10条记录 以下内容是原始文章内容,用于做留存阅读. 1.oracle 取前10条记录 1) ...
 - MySql多表关联,根据某列取前N条记录问题
		
近来遇到一个问题:“MySql多表关联,根据某列取前N条记录”. 刚开始一直在想,SQL语句是否可以做到直接查询出来,但几经折磨,还是没能写出SQL语句,-------如果有大牛的话,望指点迷津.我把 ...
 - ORACLE/MYSQL/DB2等不同数据库取前几条记录
		
选取数据库中记录的操作是最基础最频繁的,但往往实际应用中不会这么简单,会在选取记录的时候加上一些条件,比如取前几条记录,下面就总结了如何在ORACLE/MYSQL/DB2等一些热门数据库中执行取前几条 ...
 
随机推荐
- 更多文章请访问"程序旅途”
			
更多文章请访问我的个人独立博客 程序旅途
 - 连上VPN后,如何访问内网(添加路由表实现网络分流方法)
			
route add 192.168.4.0 mask 255.255.255.0 192.168.2.0 metric 1 不止有“邮件系统”会出现这种情况,还有其他情况,这时,你需要在没有连接外网和 ...
 - 推荐一个C#代码混淆器 .NET Reactor【转】
			
C#的代码辛苦写出来之后,一个反射工具,就可以完全显露出来. 当然,在做项目时,这个功能还不错.因为我就曾在一个项目上使用C#,没有进行任何混淆.结果在项目二年多之后,需要做一些调整,自己保存的源代码 ...
 - web项目总结
			
web项目 Webroot下面的index.jsp页面的内容: <%@ page language="java" pageEncoding="UTF-8" ...
 - How to set colors of HTML tables
			
There is a simple way to set the color of tables: use the bgcolor attribute of tag <table>. ...
 - Android实现自适应正方形GridView(陌陌引导页面效果)
			
1.http://blog.chengyunfeng.com/?p=465 2.备注,慢慢研究
 - npoi与memcached中的ICSharpCode.SharpZipLib版本冲突的解决方案
			
项目中一直使用NPOI与memcached,一直相安无事,但是最近升级了npoi到最新版本,发生了ICSharpCode.SharpZipLib的版本冲突问题. 因为此前一直使用的是NPOI的1.x的 ...
 - android自定义view仿照MIUI中音量控制效果
			
先看效果图: 这就是miui中的音量效果图,实现思路是自定义视图,绘制圆环,然后设置进度显示. 核心代码在onDraw中实现如下: @Override protected void onDraw(Ca ...
 - Mac终端常用命令收集
			
删除非空目录 rm -rf 目录名字 -r 就是向下递归,不管有多少级目录,一并删除-f 就是直接强行删除,不作任何提示的意思 终端修改hosts文件 sudo vi /etc/hosts 切换到su ...
 - MemCached用法
			
所需要的jar包: com.danga.MemCached.MemCachedClient com.danga.MemCached.SockIOPool 自行下载/** * 缓存服务器集群,提供缓存连 ...