本文参考

    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. AMDU恢复ASM磁盘组数据(測)

    --umount ASMCMD> umoung -a asmdg commands:         md_backup, md_restor         lsattr, setattr   ...

  2. Shell split character line by line

    while read line      do            account=`echo "$line"| cut -c1-9`'|'            account ...

  3. ecshop 全目录说明

    ECShop 2.5.1 的结构图及各文件相应功能介绍     ECShop2.5.1_Beta upload 的目录           ┣ activity.php 活动列表           ...

  4. jQuery Ajax: $.post请求示例

    jQuery Ajax: $.post请求示例 leyangjun.html页面 <html> <head> <meta http-equiv="Content ...

  5. POJ 2738 Two Ends(记忆化)

    Description In the two-player game "Two Ends", an even number of cards is laid out in a ro ...

  6. 将 Android* x86 NDK 供 Eclipse* 而移植 NDK 演示示例应用程序

    目标 面向 Eclipse (ADT) 的 Android 插件如今支持基于 NDK 的应用开发. 其可自己主动生成项目和构件文件以及代码存根.并可集成到整个 Android 应用开发中(构建原生库. ...

  7. 《Linux内核设计与实现》的地址空间读书笔记的过程

    1.核心区域进程包括各种内存对象 种内存对象,比方: 1.可运行文件代码能够包括各种内存映射,称为代码段(text section). 2.可运行文件的已初始化全局变量的内存映射,称为数据段(data ...

  8. Div 滚动栏滚动到指定的位置

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  9. 转载:Raspberry Pi 树莓派入门

    转载说明: 整理转载,原文链接http://www.eeboard.com/bbs/thread-5191-1-1.html 这篇帖子我打算用Q&A的方式来编写,这样大家更容易一目了然的看明整 ...

  10. ajax方式提交带文件上传的表单,上传后不跳转

    ajax方式提交带文件上传的表单 一般的表单都是通过ajax方式提交,所以碰到带文件上传的表单就比较麻烦.基本原理就是在页面增加一个隐藏iframe,然后通过ajax提交除文件之外的表单数据,在表单数 ...