Msw*_*ama 4 sql t-sql sql-server sql-server-2012
让我们来看看:
SELECT Name, Surname, Salary, TaxPercentage
FROM Employees
Run Code Online (Sandbox Code Playgroud)
收益:
Name |Surname |Salary |TaxPercentage
--------------------------------------
Moosa | Jacobs | $14000 | 13.5
Temba | Martins | $15000 | 13.5
Jack | Hendricks | $14000 | 13.5
Run Code Online (Sandbox Code Playgroud)
我希望它返回:
Name |Surname | Salary |TaxPercentage
-------------------------------------------
Moosa | Jacobs | $14000 | NULL
Temba | Martins | $15000 | NULL
Jack | Hendricks| $14000 | 13.5
Run Code Online (Sandbox Code Playgroud)
由于TaxPercentage的值重复,我希望它最后只出现一次.
在sql server 2012及更高版本中,您可以使用Leadwindow函数获取下一行的值.假设您有某种方法对数据进行排序(如标识列),您可以使用此方法:
SELECT Name,
Surname,
Salary,
CASE WHEN TaxPercentage = LEAD(TaxPercentage) OVER (ORDER BY Id) THEN
NULL
ELSE
TaxPercentage
END As TaxPercentage
FROM Employees
ORDER BY Id
Run Code Online (Sandbox Code Playgroud)
看小提琴(感谢Lasse V. Karlsen)