在同一查询中使用 DISTINCT 和 TOP

新手上路,请多包涵

我想在同一个查询中使用 DISTINCTTOP 。我试过了

SELECT DISTINCT TOP 10 * FROM TableA

但我仍然有一个重复的 personID ,所以我很难做到:

 SELECT DISTINCT (personID) TOP 10 * FROM TableA

但是这里的语法是错误的。我该如何正确地做到这一点?

原文由 user1187282 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 430
1 个回答

根据帖子标题,Matt Busche 的答案是正确的。

但是,如果从您的代码示例中可以看出,您的问题是拥有来自不同的前 10 个 personID 的所有记录字段,则可以将其用作子查询:

 SELECT TableA.*
FROM TableA
INNER JOIN (SELECT DISTINCT TOP 10 personID FROM TableA) AS B
ON TableA.ID = B.ID

原文由 M455y 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进