gpt4 book ai didi

sql - 如果 SQL 中的值重复,如何使 select 语句返回 "NULLs"

转载 作者:行者123 更新时间:2023-12-02 01:17:19 24 4
gpt4 key购买 nike

假设我们有:

SELECT Name, Surname, Salary, TaxPercentage
FROM Employees

返回:

 Name |Surname     |Salary  |TaxPercentage
--------------------------------------
Moosa | Jacobs | $14000 | 13.5
Temba | Martins | $15000 | 13.5
Jack | Hendricks | $14000 | 13.5

我希望它返回:

 Name |Surname   | Salary  |TaxPercentage
-------------------------------------------
Moosa | Jacobs | $14000 | NULL
Temba | Martins | $15000 | NULL
Jack | Hendricks| $14000 | 13.5

由于 TaxPercentage 的值是重复的,我希望它在最后只出现一次。

最佳答案

在 sql server 2012 及更高版本中,您可以使用 Lead窗口函数获取下一行的值。假设您有某种方法对数据进行排序(例如身份列),您可以利用它来发挥自己的优势:

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

参见fiddle (感谢Lasse V. Karlsen)

关于sql - 如果 SQL 中的值重复,如何使 select 语句返回 "NULLs",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31848388/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com