高手帮忙,一个SELECT 的问题,写不出来了

seesea125 2006-03-08 05:58:31
表结构是这样的
id parent name
1 100 dsjfsdfl
2 100 dsfsd
3 100 dsfsd
4 100 dsfsd
5 101 dsjfsdfl
6 101 dsfsd
7 101 dsfsd
8 101 dsfsd
9 102 dsjfsdfl
10 102 dsfsd
11 102 dsfsd
12 102 dsfsd

我想把每个parent_id列的最新的4条给选择出来,但不知道怎么写?高手帮忙

我这么写的
select * from [bj_news_context] a where (select count(*) from [bj_news_context] where parent_id=a.parent_id and id<a.id) in (1,2,3,4) and a.parent_id in (100,101,102)
但是这样是把每一个类别的最老的4条给选择出来了,而且ORDER BY ID DESC也不行
...全文
92 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
子陌红尘 2006-03-08
  • 打赏
  • 举报
回复
select
a.*
from
bj_news_context a
where
(select count(*) from bj_news_context where parent=a.parent and id>=a.id)<=4
子陌红尘 2006-03-08
  • 打赏
  • 举报
回复
select
a.*
from
bj_news_context a
where
id in(select top 4 id from bj_news_context where parent=a.parent order by id desc)
$扫地僧$ 2006-03-08
  • 打赏
  • 举报
回复
parent_id列 !??在哪儿哦!?

try:
select * from [bj_news_context] a where (select count(*) from [bj_news_context] where parent_id=a.parent_id and id>a.id) in (1,2,3,4) and a.parent_id in (100,101,102)

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧