简单sql查询

kevin_xu4365 2010-02-26 11:25:11
一个用户表User(id,name)一个文章表Atical(id,UserId,content,EntryTime)
查出每个用户最新发表的一篇文章。在线等待中。。。。
...全文
76 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
kevin_xu4365 2010-02-26
  • 打赏
  • 举报
回复
2楼和6楼的方法试了,不行。4楼的方法可以!
心中的彩虹 2010-02-26
  • 打赏
  • 举报
回复
select userid,name,content,b.id,entrytime
from user a,atical b
where a.id=b.userid and entrytime in (select a.time from (select userid,max(entrytime) time from atical group by user id) a)
百年树人 2010-02-26
  • 打赏
  • 举报
回复
引用 2 楼 kevin_xu4365 的回复:
楼上的还在吗?你的方法貌似不行啊。这样查出的是最后发表的一篇文章啊。我要的是每个用户的最后发表的一篇文章


建议楼主测试一下,测试结果即真理
东那个升 2010-02-26
  • 打赏
  • 举报
回复
with cte as(
select
*,
row_number() over(partition by a.userid order by EntryTime desc) as rn
from Atical
)

select a.*,b.*
from [User] a,cte b
where a.id=b.UserId and b.rn=1
水族杰纶 2010-02-26
  • 打赏
  • 举报
回复
--就是每个用戶啊,UserId不就是用戶麼
select a.*,
b.*
from [User] a,Atical b
where a.id=b.UserId
and not exists(select 1 from Atical where UserId=b.UserId and EntryTime>b.EntryTime)
kevin_xu4365 2010-02-26
  • 打赏
  • 举报
回复
楼上的还在吗?你的方法貌似不行啊。这样查出的是最后发表的一篇文章啊。我要的是每个用户的最后发表的一篇文章
水族杰纶 2010-02-26
  • 打赏
  • 举报
回复
select a.*,
b.*
from [User] a,Atical b
where a.id=b.UserId
and not exists(select 1 from Atical where UserId=b.UserId and EntryTime>t.EntryTime)

34,590

社区成员

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

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