您的示例#2让我挠了一下头-我对自己说:“您不能发表
DISTINCT任何专栏,那意味着什么?” -直到我意识到发生了什么。
当你有
SELECt DISTINCT(t.ItemNumber)
你是 不是 ,尽管外表,实际上需要的不同值 的t.ItemNumber
!您的示例#2实际上被解析为与
SELECT DISTINCT (t.ItemNumber) , (SELECT TOP 1 ItemDescription FROM Transactions WHERe ItemNumber = t.ItemNumber ORDER BY DateCreated DESC) AS ItemDescriptionFROM Transactions t
在句法上正确但周围多余的括号
t.ItemNumber。它
DISTINCT适用于整个结果集。
在这种情况下,由于
GROUP BY按列分组的组实际上有所不同,因此您将获得相同的结果。我实际上对SQL Server不(在
GROUPBY示例中)坚持要在
GROUP BY列表中提到子查询列感到有些惊讶。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)