SELECT [ID]
,[UserID]
,[StartDate]
,[EndDate]
,[CreateUser]
,[CreateDate]
,[LastEditUser]
,[LastEditDate]
FROM [DB_Base].[dbo].[DB_Contracts]
,(SELECT UserID AS U,MAX(EndDate) AS E FROM dbo.DB_Contracts GROUP BY UserID) temp
WHERE temp.U = dbo.DB_Contracts.UserID AND temp.E = dbo.DB_Contracts.EndDate

SQL获取每个用户最后的一条记录 

升级版本

 SELECT dbo.DB_User.UserNumber ,
dbo.DB_User.Name ,
d.StartDate ,
d.EndDate
FROM dbo.DB_User
LEFT JOIN ( SELECT [ID]
,[UserID]
,[StartDate]
,[EndDate]
,[CreateUser]
,[CreateDate]
,[LastEditUser]
,[LastEditDate]
FROM [DB_Base].[dbo].[DB_Contracts]
,(SELECT UserID AS U,MAX(EndDate) AS E FROM dbo.DB_Contracts GROUP BY UserID) temp
WHERE temp.U = dbo.DB_Contracts.UserID AND temp.E = dbo.DB_Contracts.EndDate ) d ON d.UserID = dbo.DB_User.ID
WHERE xxxxxxxx

  

SQL每个用户最后的一条记录的更多相关文章

  1. 记一个常见的ms sql server中取第N条记录的方法

    前言 好好学习,天天向上. 正文 好像也是一个不难的问题,刚视频里看到的,就记一下吧. 下面是表中原始的数据结构,做了一个倒叙排序: select * from Employee order by S ...

  2. SQL 查询每组的第一条记录

    CREATE TABLE [dbo].[test1]( [program_id] [int] NULL, [person_id] [int] NULL ) ON [PRIMARY] /*查询每组分组中 ...

  3. SQL语句一次INSERT多条记录的方法

    1.SQL Server或MySQL中: INSERT INTO `userTable` (`user_id`, `user_name`) VALUES (, 'dsf'), (, 'fgy'), ( ...

  4. SQL ------ JDBC 删除指定的某条记录

    package demo; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; ...

  5. SQL ----- JDBC 用ID查询某条记录

    package demo; import java.io.IOException; import java.sql.Connection; import java.sql.DriverManager; ...

  6. sql重复数据只取一条记录

    1.SQL SELECT DISTINCT 语句 在表中,可能会包含重复值.这并不成问题,不过,仅仅列出不同(distinct)的值. 关键词 DISTINCT 用于返回唯一不同的值. 语法: SEL ...

  7. SQL 分组获取产品 前两条记录

    select * from ( select *, ROW_NUMBER() over(partition by IPAddress order by recordtime desc) as rowN ...

  8. sql如何查询数据库最后10条记录并正序输出

    select * from (select * from 表名 order by 字段 desc limit 10) 临时表 order by 字段

  9. 应用C#和SQLCLR编写SQL Server用户定义函数

    摘要: 文档阐述使用C#和SQLCLR为SQL Server编写用户定义函数,并演示用户定义函数在T-SQL中的应用.文档中实现的 Base64 编码解码函数和正则表达式函数属于标量值函数,字符串分割 ...

随机推荐

  1. Swift隐式可选型简单介绍

    /* 隐式可选型 */ // 隐式可选型同样可以赋值为nil, 而且在后面对这个变量的使用也可以不用进行解包 var value: String! = nil // print(value) 这行代码 ...

  2. JAVA-3-水仙花

    public static void main(String[] args) { // TODO 自动生成的方法存根 int i = 100; while (i < 1000) { int a, ...

  3. QT5-控件-QDial(表盘控件)

    #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QDial> class ...

  4. QT学习篇: 入门(二)

    库存订单界面: (1)包括序号.订单代码.订单名称.产品代码.产品类型.计划加工数量.最晚完工日期. (2)model增加临时map,用于存储库存订单. (3)后台计算完成后,会将库存订单推送给前台, ...

  5. mysql innodb myisam 主要区别与更改方法

    一.主要区别 1.事务处理 innodb 支持事务功能,myisam 不支持. Myisam 的执行速度更快,性能更好.   2.select ,update ,insert ,delete 操作   ...

  6. eclipse  sae上传代码

    eclipse  sae上传代码http://www.sinacloud.com/doc/sae/java/tools.html#eclipse 来自为知笔记(Wiz)

  7. :after伪类+content内容生成经典应用举例

    一.简单说说content内容生成 content内容生成就是通过content属性生成内容,content属性早在CSS2.1的时候就被引入了,可以使用:before以及:after伪元素生成内容. ...

  8. MVC中修改报错

    修改的时候有空值传入.

  9. java 批量插入10万条数据

    for (int i = 0; i < 100000; i++) { dbHelper.insert("INSERT aaa(name) Values ('1')"); } ...

  10. 可用版本的host

    http://blog.csdn.net/ljphhj/article/details/11939591 http://my.oschina.net/lvkun0223/blog/282356 两者的 ...