有没有办法只选择为每条记录估算的第一条评论?
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? 这取决于您想要实现的目标,但您需要提出一个新问题才能得到答案。请记住包括您现有的查询、示例数据和预期结果,如果您这样做,有人会很快提供答案。 非常感谢!以上是关于有没有办法只选择为每条记录估算的第一条评论?的主要内容,如果未能解决你的问题,请参考以下文章
oracle 表中有很多相同的记录,怎么只取满足条件的第一条?
2022-05-27:现在有N条鱼,每条鱼的体积为Ai,从左到右排列,数组arr给出。 每一轮,左边的大鱼一定会吃掉右边比自己小的第一条鱼, 并且每条鱼吃比自己小的鱼的事件是同时发生的。 返回多少轮之