当前位置:编程学习 > C#/ASP.NET >>

SQL超级问题。。。各位帮主帮帮我了 !!!!!!!!!!!!

有一个表又字段如下:

ID         INT IDENITY     --自动编号
USERNAME     NVARCHAR(50)    --作者名称
TITLE      NVARCHAR(50)   --文章题目
TIME       DATETIME       --文章创作时间

求得到最新前10条记录,要求如下:作者名重复的记录最多只能有两条。

--------------------编程问答-------------------- select top 10 ID,USERNAME, TITLE, TIME
from  
(select *,row_number()oveer(partition by USERNAME order by ID) as cnt 
from table) As A
where cnt <=2
 order by TIME DESC  --------------------编程问答-------------------- sql2000的版本了。。。大哥哥。。 --------------------编程问答-------------------- 等你们不想写了,我再发,哈哈 --------------------编程问答-------------------- 我晕。。。大哥哥 。。。说说吧3.。。 --------------------编程问答-------------------- 2000版本就这么不好弄吗??? --------------------编程问答-------------------- select  top 10 ID,USERNAME, TITLE, TIME 
from  table  where  username    in  (select       username       from       table A       group       by       username       having       count(*)> 1) 
--------------------编程问答--------------------
引用楼主 abcdefgabczzz 的帖子:
有一个表又字段如下:

ID         INT IDENITY     --自动编号
USERNAME     NVARCHAR(50)    --作者名称
TITLE      NVARCHAR(50)   --文章题目
TIME       DATETIME       --文章创作时间
求得到最新前10条记录,要求如下:作者名重复的记录最多只能有两条。

select top 10 * from tb t 
where not exists(
select * from tb where username=t.username and id<=t.id
group by username having count(*)>2
)

把tb改成你的表名
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,