SQL - 添加列指示是否是第一次看到条目

SQL - Add Column Indicating if it's the first time an entry is seen

我有一个现有的 table(称之为 FruitOrders),其中有很多列,其中之一是水果:

Fruit Order Time
Apple 2022-09-09 22:21:03
Banana 2022-09-10 22:21:03
Pineapple 2022-09-11 22:21:03
Orange 2022-09-12 22:21:03
Apple 2022-09-13 22:21:03
Orange 2022-09-14 22:21:03
Blueberry 2022-09-15 22:21:03

我想添加一个新列作为视图,如果它是看到水果的第一行,它将是“1”。示例如下:

Fruit First Time Seeing Fruit?
Apple 1
Banana 1
Pineapple 1
Orange 1
Apple 0
Orange 0
Blueberry 1

关于如何做到这一点有什么想法吗?我在猜测涉及 partition/row_number 的内容,但我是使用这些的新手。此外,这是一个很大的 table,所以如果有快速的方法可以做到这一点,请告诉我!

CASE 中的 window 函数 row_number() 是一个选项

例子

Select *
      ,Flag = case when row_number() over (partition by Fruit order by [Order Time]) = 1 then 1 else 0 end
 From YourTable
 Order by [Order Time]

结果