首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用group by和maximum

使用group by和maximum
EN

Stack Overflow用户
提问于 2011-06-01 18:15:56
回答 3查看 56关注 0票数 3

我有一个post表和post内容表。

每次编辑post时,都会在postcontent表中添加一个条目。

在每次这样的时候,一个名为version的文件将在postcontent表中加1。

我如何从post _ able和Description from获取PostId到post can表中,其中每个帖子的版本都是最大值(即按帖子id分组)即我希望每个帖子都有一个原始版本,这样它就是该帖子的“最大版本”

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-06-01 18:28:20

代码语言:javascript
复制
SELECT 
    p.[PostID],
    pc.[Description]
FROM
    [Post] AS p
INNER JOIN
    [PostContent] AS pc
    on p.PostID = pc.PostID 
WHERE
    pc.[Version] = (SELECT MAX([Version]) FROM PostContent WHERE PostID = p.PostID)
票数 1
EN

Stack Overflow用户

发布于 2011-06-01 18:37:51

代码语言:javascript
复制
select P.PostID,
       PC.[Description]
from Post as P
inner join 
  (
    select PostID,
           [Description],
           row_number() over(partition by PostID order by [Version] desc) as rn
    from PostContent
  ) as PC
  on P.PostID = PC.PostID
where PC.rn = 1
票数 2
EN

Stack Overflow用户

发布于 2011-06-01 18:27:52

我认为您将PostContent表中的PostId作为外键,并且您希望检索所有具有最高版本的postId

代码语言:javascript
复制
select max(version),PostId from PostContent groupby PostId
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6199583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档