2010-08-05 4 views
1

=================postgres requête pour les projections de ventes

Voici ma requête:

SELECT 
SUM(sub_total) AS sales, 
CASE WHEN (sub_total<100) THEN '0-99'  
    WHEN (sub_total>=100 AND sub_total<200) THEN '100-199' 
    WHEN (sub_total>=200 AND sub_total<300) THEN '200-299' 
    WHEN (sub_total>=300 AND sub_total<400) THEN '300-399' 
    WHEN (sub_total>=400 AND sub_total<500) THEN '400-499' 
    ELSE '500+' 
END 
AS product_sales_range 
FROM order_item 
GROUP BY sub_total 

========= ===============

Il donne la ressult comme:

sales  product_sales_range 
-----  ------------------- 

10398.96  200-299 
600   100-199 
300   0-99 
7699.78  300-399 
6799.32  100-199 
600   0-99 
26599.24  500+ 

================== =======================

Je voudrais obtenir le résultat comme celui-ci:

sales  product_sales_range sales_increase_by_10% sales_increase_by_20% 
-----  ------------------- ------------------ ------------------ 

10398.96  200-299 
600   100-199 
300   0-99 
7699.78  300-399 
6799.32  100-199 
600   0-99 
26599.24  500+ 

============

Exigence:

Actuellement, nous avons des chiffres de vente. Besoin de connaître la projection des ventes comme si les ventes augmenteraient de 10%, 20%, 30% etc. Exemple: aujourd'hui, les ventes de product_sales_range (0-99) sont de 300. Si les ventes sont augmentées de 10%, sales_increase_by_10 % devrait être 330

Répondre

2

Suis-je manque quelque chose, ou avez-vous avez juste besoin d'utiliser:

SELECT SUM(sub_total) AS sales, 
     CASE WHEN (sub_total<100) THEN '0-99' 
       WHEN (sub_total>=100 AND sub_total<200) THEN '100-199' 
       WHEN (sub_total>=200 AND sub_total<300) THEN '200-299' 
       WHEN (sub_total>=300 AND sub_total<400) THEN '300-399' 
       WHEN (sub_total>=400 AND sub_total<500) THEN '400-499' 
       ELSE '500+' 
     END AS product_sales_range, 
     SUM(sub_total) * 1.1 AS sales_increase_by_10Percent, 
     SUM(sub_total) * 1.2 AS sales_increase_by_20Percent 
    FROM order_item 
GROUP BY sub_total 
+0

merveilleux .. exactement c'est ce que je avais besoin. merci beaucoup et j'apprécie énormément – user412220

Questions connexes