LAG (Transact-SQL)
A.比較不同年份的值
下列範例使用 LAG 函數傳回特定員工於前幾年之間的銷售配額差異。 請注意,由於第一列沒有可用的 lag 值,所以會傳回預設值零 (0)。
USE AdventureWorks2012;
GO
SELECT BusinessEntityID, YEAR(QuotaDate) AS SalesYear, SalesQuota AS CurrentQuota,
LAG(SalesQuota, 1,0) OVER (ORDER BY YEAR(QuotaDate)) AS PreviousQuota
FROM Sale...
2015年03月31日数据库[SQL] LAG、 LEAD 使用及示例已关闭评论阅读 411 次阅读全文
由于GROUP BY 字句与列聚集函数配合,实现了指定列数据的统计,但是其输出结果只能看到最后的计算值,不能同时浏览被统计列的原始值,而这种显示原始数据同时输出统计值的格式,在许多场合,尤其报表中,是很重要的。为此功能,必须使用行统计<compute>字句。应该说行统计本质上并无多大差别,指示输出格式上的差异,网格格式以多表输出,文本格式以多行输出。行统计<compute>字句的格式如下:...
--> 生成测试数据: #T
IF OBJECT_ID('tempdb.dbo.#T') IS NOT NULL DROP TABLE #T
CREATE TABLE #T (ID VARCHAR(3),GID INT,Author VARCHAR(29),Title VARCHAR(39),Date DATETIME)
INSERT INTO #T
SELECT '001',1,'邹建','深入浅出SQLServer2005开发管理与应用实例','2008-05-10' UNION ALL
SELECT '002',1,'胡百敬','SQLServer2005性能调校','2008-03-22' UNION ALL
SELECT '003',1,'格罗夫Gro...