SQL 分组后获取其中一个字段最大值的整条记录

时间:2022-08-23 11:25:01

--有id,name,createDate的一张表testTable
--根据name分组,获取每组中createDate最大的那条记录(整条)查询出来
----------------------------------------------

创建一张表,语句如下:

  1. CREATE TABLE [dbo].[testTable]
  2. (
  3. [id] [int] NOT NULL IDENTITY(1, 1),
  4. [name] [nchar] (10) COLLATE Chinese_PRC_CI_AS NULL,
  5. [counts] [int] NULL,
  6. [createDate] [datetime] NULL
  7. )
  8. GO
  9. -- Constraints and Indexes
  10. ALTER TABLE [dbo].[testTable] ADD CONSTRAINT [PK_testTable] PRIMARY KEY CLUSTERED ([id])
  11. GO

插入测试数据:

  1. insert into testTable(id,name,counts,createDate) values(1,'A         ',20,'01 14 2011 10:52PM')
  2. insert into testTable(id,name,counts,createDate) values(2,'A         ',10,'02 14 2011 10:52PM')
  3. insert into testTable(id,name,counts,createDate) values(3,'B         ',20,'03 14 2011 10:52PM')
  4. insert into testTable(id,name,counts,createDate) values(4,'B         ',40,'04 14 2011 10:52PM')
  5. insert into testTable(id,name,counts,createDate) values(5,'B         ',10,'05 14 2011 10:52PM')
  6. insert into testTable(id,name,counts,createDate) values(6,'C         ',20,'06 14 2011 10:52PM')
  7. insert into testTable(id,name,counts,createDate) values(7,'C         ',40,'07 14 2011 10:52PM')

SQL 分组后获取其中一个字段最大值的整条记录

查询SQL语句:

  1. select * from (
  2. select id,name,counts,createDate,row_number() over(partition by name order by createDate desc) rn
  3. from testTable
  4. ) t where t.rn <=1

结果如下:

SQL 分组后获取其中一个字段最大值的整条记录

SQL 分组后获取其中一个字段最大值的整条记录的更多相关文章

  1. SQL分组后获取其中一个字段最大值的整条记录

    SELECT * FROM( SELECT id,name,counts,createDate,row_number() OVER(partition BY name ORDER BY createD ...

  2. SQL 分组后获取每组中最大值

    场景:sql server 2008 drop table ID CREATE TABLE ID ( id ,) not null, code int , D date, PRIMARY KEY (i ...

  3. SQL 分组后&comma;获取每组中的最大值对应的数据

    select gr,num,dt,(select bys from test where gr=b.gr and dt=b.dt) bys from ( select gr,count(0) num, ...

  4. sql 分组后查询出排序字段

    select  row_number() over(partition by  CODE order by SEQUENCE) as RowIndex  from Table 注:根据表的CODE 字 ...

  5. 在论坛中出现的比较难的sql问题:16&lpar;取一个字段中的数字&rpar;

    原文:在论坛中出现的比较难的sql问题:16(取一个字段中的数字) 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路. 问题:取一个字段中的数字http://bbs.csdn ...

  6. SQL排除重复结果只取字段最大值

    如何用SQL排除重复结果只取字段最大值的记录?要求得到的结果(即是PID相同的记录只取ID值最大的那一条). select * from [Sheet1$] a from [Sheet1$] wher ...

  7. sql 分组后显示每组的前几条记录

    sql 分组后显示每组的前几条记录 如   表中记录是             code       serialno             A1               1           ...

  8. sql 分组后按时间降序排列再取出每组的第一条记录

    原文:sql 分组后按时间降序排列再取出每组的第一条记录 竞价记录表: Aid 为竞拍车辆ID,uid为参与竞价人员ID,BidTime为参与竞拍时间 查询出表中某人参与的所有车辆的最新的一条的竞价记 ...

  9. SQL语句 删除表user 中字段name 内容重复的记录,

    public class T01 { public static void main(String[] args) { int j=4; j=j+=j-=j*=j; System.out.printl ...

随机推荐

  1. memset函数

    函数介绍 void *memset(void *s, int ch, size_t n); 函数解释:将s中前n个字节 (typedef unsigned int size_t )用 ch 替换并返回 ...

  2. git入门学习

    初步学习笔记. 1.创建仓库:git init 仓库:个人理解为文件存放及版本追踪的容器,对应着一个目录,目录中包含用户的文件及git用来追踪文件版本的一系列文件. 新建并进入HelloWorld目录 ...

  3. git笔记------自己学习git的心得

    git个人学习总结: git是一个管理代码的版本控制系统,用git init创建一个git可以管理的仓库,这个仓库里有一个工作区,我们最基本的那些命令操作都是在工作区完成,在创建仓库的时候,在工作区里 ...

  4. 前端touch事件方向的判断

    移动端touch事件判断滑屏手势的方向 方法一 当开始一个touchstart事件的时候,获取此刻手指的横坐标startX和纵坐标startY: 当触发touchmove事件时,在获取此时手指的横坐标 ...

  5. Restful levels &amp&semi;HATEOAS基本介绍~

    本文所涉及的内容摘自:http://www.manongjc.com/article/93934.html 什么是RESTful REST这个词,是Roy Thomas Fielding在他2000年 ...

  6. DUAL PORT RAM应用实例

    作者:桂. 时间:2018-05-14  12:11:00 链接:http://www.cnblogs.com/xingshansi/p/9035522.html 前言 主要是Xilinx 常用模块汇 ...

  7. 【IT笔试面试题整理】位操作

    如何准备: Bit manipulation can be a scary thing to many candidates, but it doesn't need to be! If you're ...

  8. LEETCODE —— Unique Paths II &lbrack;Dynamic Programming&rsqb;

    唯一路径问题II Unique Paths II Follow up for "Unique Paths": Now consider if some obstacles are ...

  9. 【BZOJ】4152&colon; &lbrack;AMPPZ2014&rsqb;The Captain【SLF优化Spfa】

    4152: [AMPPZ2014]The Captain Time Limit: 20 Sec  Memory Limit: 256 MBSubmit: 2107  Solved: 820[Submi ...

  10. Java——poi读取Excel文件

    1.创建文件流,打开EXCEL文件 FileInputStream excelFile = new FileInputStream(excelPath); XSSFWorkbook workbook ...