码迷,mamicode.com
首页 > 数据库 > 详细

【记录】T-SQL 分组排序中取出最新数据

时间:2014-11-12 01:54:02      阅读:300      评论:0      收藏:0      [点我收藏+]

标签:des   blog   http   ar   os   使用   数据   on   2014   

原文:【记录】T-SQL 分组排序中取出最新数据

示例 Product 表结构:

bubuko.com,布布扣

示例 Product 表数据:

bubuko.com,布布扣

想要的效果是,以 GroupName 字段分组,取出分组中通过 Sort 降序最新的数据,通过示例数据,可以推算出结果数据的 ID 应该为:7、5、3。

示例 SQL 代码:

select * from Product p where ID=(select top 1 ID from Product where p.GroupName=GroupName order by Sort desc) order by Sort desc

并没有使用 group by 或 distinct,一行代码搞定,但这种方式会造成性能问题。

使用 group by 代码示例:

select p1.* from Product p1 
inner (select MAX(p2.ID) from Product p2 group by p2.GroupName) p3 on p1.ID=p3.ID

执行结果:

bubuko.com,布布扣

【记录】T-SQL 分组排序中取出最新数据

标签:des   blog   http   ar   os   使用   数据   on   2014   

原文地址:http://www.cnblogs.com/lonelyxmas/p/4090948.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!