我需要在select语句中添加新列,该语句包含所有记录中的最大年份(存储为文本),然后将其标记为CY / PY。餐桌上总是只有两年。
year value
2019 value1
2019 value2
2018 value3
到目前为止,我尝试了此操作,但它仅返回该行的max,而不返回整个列。
select year, value, IIF(year=MAX(year), 'CY', 'PY') AS "CY/PY" from table
预期:
year value CY/PY
2019 value1 CY
2019 value2 CY
2018 value3 PY
最佳答案
我想你想要一个窗口函数:
select year, value,
(case when year = MAX(year) over () then 'CY' else 'PY' end) AS "CY/PY"
from table
关于sql - 列中所有值到新列的最大值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54575139/