我已经读到使用CTE的一个很好的理由是像微软所说的那样:
通过从标量子选择派生的列启用分组, 或者是一个不确定或具有外部访问权限的函数。
所以我尝试使用SQL 2014和Adventure Works 2012 DB这个例子,它有效!
SELECT DateDiff(D,H.OrderDate,GETDATE()), Count(*)
FROM Sales.SalesOrderHeader H
GROUP BY DateDiff(D,H.OrderDate,GETDATE())
ORDER BY DateDiff(D,H.OrderDate,GETDATE())
这似乎不正确,因为GETDATE()
是不确定的!
真的有两个问题:
克服“非确定性功能组”的限制?
谢谢!