我有一个表,从这个表中有一系列的投资,然后是对投资做出贡献的投资者。同一投资不能有两个投资者#,但只有投资者投资的第一笔交易是“新的”,未来的每一笔交易都被列为“非新的”。
我现在有两个列-投资和投资者,并需要找出SQL为写第三列是圆形的。
下面列出了示例输出
INVESTMENT | INVESTOR | ROUND | <-- THIRD COLUMN DOESN"T EXIST CURRENTLY
---------------------------------
| 1 | A | NEW |
| 2 | B | NEW |
| 3 | A | NOT NEW |
| 4 | C | NEW |
| 5 | D | NEW |
| 6 | B | NOT NEW |
| 7 | C | NOT NEW |
| 8 | A | NOT NEW |
| 9 | E | NEW |
| 10 | A | NOT NEW |
---------------------------------感谢任何想法
发布于 2021-04-04 10:22:26
我觉得你想要row_number()
select t.*,
(case when row_number() over (partition by investor order by investment) = 1
then 'NEW' else 'NOT NEW'
end) as round
from t;https://stackoverflow.com/questions/66937493
复制相似问题