查询出ArticleSubTypeID为1和2的前2条记录,根据ArticleID排序。
查询结果如下:
ArticleID ArticleTitle ArticleSubTypeID
1______________你好1_____________1
2______________你好2_____________1
4______________你好4_____________2
5______________你好5_____________2
只有20分,谁先给出语句,分给谁、、
查询结果如下:
ArticleID ArticleTitle ArticleSubTypeID
1______________你好1_____________1
2______________你好2_____________1
4______________你好4_____________2
5______________你好5_____________2
只有20分,谁先给出语句,分给谁、、
解决方案 »
- 请问:sqlserver2005中的“摘要”页在哪里可以打开?
- 将某一个数拆分并合并
- 帮忙看看,为什么正常提交后,数据库中却没有写入这个记录?在提交前还需要rst.Update语句吗?
- SqlServer2005 右键打开表 查看表内数据报错。。。
- 想要取一个表第N列的内容,怎么写啊???
- 数据表 保留空间 很大是怎么回事,怎么能解决?
- 做了一个关于操作金蝶数据小程序,却没法用,请高手指点一下。急用,谢谢了。
- 工作站电脑上是否必须安装SQLServer客户端,才能访问SQLServer服务器?
- 关于sql server 2000 jdbc connection pool
- 怎样在orcale中查看当前有那些用户登陆?
- 求SQL更新语句
- 怎么给用户赋予视图查询权限
declare @Article table (ArticleID int,ArticleTitle varchar(5),ArticleSubTypeID int)
insert into @Article
select 1,'你好1',1 union all
select 2,'你好2',1 union all
select 3,'你好3',1 union all
select 4,'你好4',2 union all
select 5,'你好5',2 union all
select 6,'你好6',2
SELECT ArticleID,ArticleTitle,ArticleSubTypeID FROM
(
select RANK() OVER (PARTITION BY ArticleSubTypeID ORDER BY ArticleID)
AS rowid,* from @Article
) aa
WHERE rowid <3
/*
ArticleID ArticleTitle ArticleSubTypeID
----------- ------------ ----------------
1 你好1 1
2 你好2 1
4 你好4 2
5 你好5 2
*/
select row_number() over(partition by ArticleSubTypeID order by ArticleID) as num,* from Article) a
where num=1 or num=2
那如果我要查询ArticleSubTypeID =30 和20的记录,你还能查询到吗。
select row_number() over(partition by ArticleSubTypeID order by ArticleID) as num,* from Article
where ArticleSubTypeID in ('30','20')) a
where num=1 or num=2
你这也不对啊,我的前2条记录,只是打个比方,这个是可以修改的。比如是前5条,前10条。
还有这查询语句也不对啊,我给的是33or19 但是查询结果是
...1
...1
...11
...11
...19
...19
...33
...33怎么会还有1和11呢。我的ArticleSubTypeID 是没有规则的,而且ArticleID也是没有规则的,但是是唯一的。