在分组依据之外按列排序

肖恩

我试图按我不想在我的Group By子句中使用的列排序

因此,这里的想法是能够以此订购FileId

SELECT FileGuid, FileName, ROW_NUMBER() OVER(Order by FileId) AS rownum
FROM dbo.FileImport
GROUP BY FileGuid, FileName
ORDER BY rownum

现在我收到此错误:

列“ dbo.FileImport.FileId”在选择列表中无效,因为它既不包含在聚合函数中,也不包含在GROUP BY子句中。

但是,如果我将其包含在分组依据中,我将获得与该FileGuid关联的每个文件的记录,而我不想发生这种情况。在此先感谢您提供有关如何进行此工作的任何意见。

戈登·利诺夫

您必须决定要关心的是哪个 fileid然后,您可以使用聚合函数:

SELECT FileGuid, FileName, ROW_NUMBER() OVER (Order by MIN(FileId)) AS rownum
FROM dbo.FileImport
GROUP BY FileGuid, FileName
ORDER BY rownum;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章