根据出现次数将包含状态的列添加到 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;
我的 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;