有没有办法只选择为​​每条记录估算的第一条评论?

Posted

技术标签:

【中文标题】有没有办法只选择为​​每条记录估算的第一条评论?【英文标题】:Is there a way to only select the first comment imputed for each record? 【发布时间】:2022-01-01 10:56:57 【问题描述】:

我有一个由 CommentDateTime、CommentCode、Comment 和 CommentKey 组成的数据集。每个 CommentCode 有多个 cmets,但我只希望为每个 CommentCode 创建的第一个评论显示在我的报告中。

有没有办法做到这一点?

我是 s-s-rS 的新手,所以如果我没有很好地解释我的问题,我很抱歉。

【问题讨论】:

【参考方案1】:

除非我遗漏了什么,否则最好在您的数据集查询中执行此操作,以便只返回第一条评论,而不是向报告发送大量数据,然后编写表达式将其过滤掉。

类似

SELECT a.CommentDateTime, a.CommentCode, a.Comment, a.CommentKey 
    FROM (
        SELECT 
                CommentDateTime, CommentCode, Comment, CommentKey,
                ROW_NUMBER() OVER(PARTITION BY CommentCode ORDER BY CommentDateTime) as RowN
        FROM @myTable
        ) a 
    WHERE a.RowN = 1

这假设 CommentKey 对于每条评论都是唯一的。 其中 a.RowN = 1

【讨论】:

这非常有效。太感谢了。如果我想将其添加到查询设计器中的现有查询中,我是否会将其设为 Inner JOIN? 这取决于您想要实现的目标,但您需要提出一个新问题才能得到答案。请记住包括您现有的查询、示例数据和预期结果,如果您这样做,有人会很快提供答案。 非常感谢!

以上是关于有没有办法只选择为​​每条记录估算的第一条评论?的主要内容,如果未能解决你的问题,请参考以下文章