在oracle中显示当前年份和上一年的列

时间:2016-03-23 09:27:06

标签: sql oracle

我需要在oracle客户中显示当前年度和上一年度的特定等级。例如。栏目为“等级”,“客户”评级为当年的特定等级,客户评定为上一年的特定等级。成绩应该是小组,客户应该显示总数。如果没有客户则应打印0。 enter image description here

以上屏幕截图是预期输出。到目前为止,我只有当前年度的客户> 2016年1月1日。我无法创建一个查询来带来上一年的客户。

我当前的客户查询年份是:

SELECT Rating , count(customers) as Curr_year_Custs from Rated_Customers where Rated_year > = '2016' group by Rating;

1 个答案:

答案 0 :(得分:0)

SELECT grade,
       COUNT( DISTINCT CASE WHEN DATE '2015-01-01' >= date_column
                             AND date_column < DATE '2016-01-01'
                            THEN customer_id END
            ) AS number_of_unique_customers_in_2015,
       COUNT( DISTINCT CASE WHEN DATE '2016-01-01' >= date_column
                             AND date_column < DATE '2017-01-01'
                            THEN customer_id END
            ) AS number_of_unique_customers_in_2016
FROM   Customers
WHERE  Date_Column >= DATE '2015-01-01'
AND    Date_Column <  DATE '2017-01-01'
GROUP BY grade;