xiaoyi's blog

网聚你我力量,网聚天下技术。

« 七大.NET著名开源项目jQuery插件开发全解析 »

SQL 取每个分类的最新的几行数据

 

方案一

select * from(
 select row_number() over(partition by classid order by id desc)as rowindex,*
 from FrameWork_Soft) a
where rowindex<2

这个解决方案的关键就是使用了SQL 2005 的 ROW_NUMBER 这个全新的函数。

ROW_NUMBER ( ) 函数的语法如下:
ROW_NUMBER ( ) OVER ( [ <partition_by_clause> ] <order_by_clause> )

OVER 子句中的 PARTITION BY 将结果集分为多个分区。
OVER 子句中的 ORDER BY 将对 ROW_NUMBER 进行排序。
 


方案二

select *
from FrameWork_Soft t
where id in(select top 1 id from FrameWork_Soft
    where classid=t.classid
    order by id desc)

Baidu一下:SQL 取每个分类的最新的几行数据
Google一下:SQL 取每个分类的最新的几行数据

  • 相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Walle Build 91204 Code detection by Codefense

Copyright 2005-2009 www.SoHelp.Cn. Some Rights Reserved.辽ICP备07500712号.