根据出现次数将包含状态的列添加到 table

Add column containing status to table based on number of occurrences

我的 SQL table 包含两列:订单和订单行。现在我想在我的 table 中添加第三列(状态)以指示它是单行订单还是多行订单。如果订单号只出现一次,则 'Single line' 否则 'Multi line'。我怎样才能做到这一点?谢谢!

Order Order Line Status
10000 10 Single line
10001 10 Multi line
10001 20 Multi line
10002 10 Single line

使用 window functions (Also called Analytics Functions 或有序分析函数):

SELECT Order, 
  OrderLine, 
  CASE WHEN COUNT(OrderLine) OVER (PARTITION BY Order) > 1 THEN 'Mult line' ELSE 'Single line' END as Status
FROM yourtable;