本文参考

    http://zhidao.baidu.com/link?url=8su4F16Et8Q0S3FmybwniJSI51Ms0AeVujcEXhyEaZh3u5LlOng5Xri_9zHsl73eEnxAswQkHe3x3OZd-jgSSa

    http://www.cnblogs.com/fxgachiever/archive/2010/09/15/1826792.html

  今天我遇到这样的一个问题,我要取TableA中的School分组中的一条最新记录,是每个School分组中的一条。

比如:School列中有如下3种值,GDUT,SYSU,SCUT,那么我的要求就是分别获取GDUT,SYSU,SCUT最新的记录,

排序依靠插入的记录的时间InsDate字段。

  本人是SQL小白,所以不太懂?So,百度。。。。。。看到别人给出的答案如下:

select * from
(
select row_number() over(partition by '分组' order by '日期' desc) as rownum -- 排序并分组
, * -- 所需显示的字段
from TableA
) as T
where T.rownum = 1

按照他的提示,果然能实现我想要的东西。一高兴,就写下篇博客记录一下本人的理解,高手勿喷。。。。

【partition】:有道了一下 ,意思是分割、分隔、区分。这里的作用是TableA根据'分组'这个字段来分组,所以

         变成GDUT一个组,SYSU一个组,SCUT一个组,分组是为了使用Row_number()函数。

【oerder】   :跟我们平时使用的Order 的作用一样,是跟分组按某个字段进行排序,这里是按'日期'来排序

【row_number】:是给分组排序,每个分组的序号都从1开始,比如GDUT组有10条记录,序号就是1-10,SYSU组

          有15条记录,序号就是1-15.

【rownum】:这是只是给分组后的序号一个别名。

【*】:查询TableA表的所有字段,select row_number() over(partition by '分组' order by '日期' desc) as rownum ,*
from TableA 有种视图的味道。

【T】:T也只是一个别名。

【T.rownum = 1】:T表中rownum=1的列,就是说最新的一列

按某个字段来分组、编号的row_number()函数的更多相关文章

  1. 在论坛中出现的比较难的sql问题:4(row_number函数+子查询 分组连续编号问题)

    原文:在论坛中出现的比较难的sql问题:4(row_number函数+子查询 分组连续编号问题) 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路. 求一查询语句 http: ...

  2. sql server如何分组编号

    我们在生产实践中经常会有这样的需求:分组编号. 如下有一个城市区域表region: 我们需要对上表region按city分组,对region进行排序,得到如下结果: 具体sql如下: select c ...

  3. Access中出现改变字段“自己主动编号”类型,不能再改回来!(已解决)

    Access中出现改变字段"自己主动编号"类型,不能再改回来! (已解决) 一次把access中的自增字段改成了数值,再改回自增时,提示:在表中输入了数据之后,则不能将不论什么字段 ...

  4. 【java】将List中的实体按照某个字段进行分组的算法

    如何将List中存放的实体按照某个字段进行分组呢?来看看下面的例子,假如实体中有个字段叫批次号,我们将具有相同批次号的实体放在一起,那么怎么实现呢?看下面的代码: 可以定义个Map,Map的key用于 ...

  5. php二维数组的某一字段 做分组统计

    $country=array_column($order,'country');$countryGP=array_count_values($country);对二维数组的某一字段 做分组统计

  6. JDK8:Lambda根据 单个字段、多个字段,分组求和

    使用lambda表达式分别 根据 单个字段.多个字段,分组求和 示意图: 1.根据 单个字段,分组求和:根据2019这个字段,计算一个list集合里,同属于2019的某个字段累加和 2.根据 多个字段 ...

  7. 在论坛中出现的比较难的sql问题:3(row_number函数 分组查询)

    原文:在论坛中出现的比较难的sql问题:3(row_number函数 分组查询) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. 所 ...

  8. SQL Server数据库partition by 与ROW_NUMBER()函数使用详解[转]

    关于SQL的partition by 字段的一些用法心得 先看例子: if object_id('TESTDB') is not null drop table TESTDB create table ...

  9. partition by 与ROW_NUMBER()函数使用详解

    SQL Server数据库partition by 与ROW_NUMBER()函数使用详解 关于SQL的partition by 字段的一些用法心得 先看例子: if object_id('TESTD ...

随机推荐

  1. CheckBox和控件Foreach循环

    .aspx代码例如以下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Sam ...

  2. Wake-On-LAN待机或休眠模式中唤醒

    Wake-On-LAN简称WOL,是一种电源管理功能:如果存在网络活动,则允许设备将操作系统从待机或休眠模式中唤醒.许多主板厂商支持IBM提出的网络唤醒标准.该标准允许网络管理员远程打开PC机电源,以 ...

  3. windows phone (27) 基础Button

    原文:windows phone (27) 基础Button Button 在wp7中因其灵活性经常会用到,我们在ContentPanel中直接添加Button,button默认状态下是把整个grid ...

  4. [Unity3D]转让Android介面

    简单介绍 有一些手机功能.Unity没有提供对应的接口.比如震动,比如不锁屏,比如GPS.比如... 有太多的特殊功能Unity都没有提供接口.这时候,我们就须要通过使用Android原生的ADT编辑 ...

  5. MultiROM for the XIAOMI MI2S/2C/2! (Kexec HardBoot Enabled with Kexec HardBoot Patch!)

    Introduction This is a port of Tassadar's MultiROM, a multi-boot mod for XIAOMI MI2/2S/2C. The main ...

  6. SQL注入的原理解说,挺好!

    原文地址:http://www.cnblogs.com/rush/archive/2011/12/31/2309203.html 1.1.1 总结 前几天,国内最大的程序猿社区CSDN网站的用户数据库 ...

  7. OpenVPN-ng,为移动续航的应用层隧道

    VPN,让人觉得它总是做好事的,是逃离监管的途径,其实VPN已经成了逃离监管的唯一代名词.你看,无论是什么技术,IPSec也好,WEB代理也罢,仅仅要是加密了原始信息的技术,都能够叫做VPN,于是乎就 ...

  8. 查看linux信息

    1.操作系统内核 cat /proc/version 2.操作系统版本 head -n 1 /etc/issue # 查看操作系统版本 3.查看cpu信息 more /proc/cpuinfo --- ...

  9. python正文(两)

    在本文中,我读了记录和总结<Python标准库>一本书,本节课文的学习和理解. 事实上,在Python于,使用一些方法这段文字是一回事,尤其是经常使用.在一般情况下,会用String这样的 ...

  10. 80x86汇编小站站长简单介绍-2014年08月23日

    [序言] 旧版的"80x86汇编小站站长简单介绍"已经过时了, 因此于2013年10月01日花费1个小时又一次更新和排版一次. [人生格言]  1] 一生都用头脑而不是情绪解决这个 ...