如何在 Oracle SQL 中的 case 语句中放置一列 header

How to put a column header on case statement in an Oracle SQL

以下是使用的语法

WITH total_orders_1996 AS (SELECT
    customers.customer_id,
    customers.company_name,
    SUM(order_details.unit_price *  order_details.quantity) AS totlal_orders
FROM
    customers
JOIN orders ON 
    customers.customer_id = orders.customer_id
JOIN order_details ON
    orders.order_id = order_details.order_id
WHERE
    orders.order_date >= '1996=7-01-01' and orders.order_date < '1998-01-01'
    
GROUP BY
    customers.customer_id,
    customers.company_name)


Select  
customer_id ,
company_name, 
totlal_orders, 

Case 
            when totlal_orders between 0 and 1000 then 'Low'             
            when totlal_orders between 1001 and 5000 then 'Medium'             
            when totlal_orders between 5001 and 10000 then 'High' 
            when totlal_orders > 10000 then 'Very High'         
       
End  from total_orders_1996
Order by customer_id ;

然后我得到 case 语句的输出 Header,如下所示

如何才能得到如下图的案例header

您需要做的就是在 case 语句的末尾添加一个列别名

  SELECT customer_id,
         company_name,
         totlal_orders,
         CASE
             WHEN totlal_orders BETWEEN 0 AND 1000 THEN 'Low'
             WHEN totlal_orders BETWEEN 1001 AND 5000 THEN 'Medium'
             WHEN totlal_orders BETWEEN 5001 AND 10000 THEN 'High'
             WHEN totlal_orders > 10000 THEN 'Very High'
         END as customer_group
    FROM total_orders_1996
ORDER BY customer_id;