title: How to get the discount number of customers in prior period?
body: <p>I have a requirement where I supposed to roll customer data in the prior period of 365 days.</p>
  
  <p>Table:</p>
  
  <pre><code>CREATE TABLE orders     ( 
    persistent_key_str character varying, 
    ord_id character varying(50), 
    ord_submitted_date date, 
    item_sku_id character varying(50), 
    item_extended_actual_price_amt numeric(18,2) 
  );
  </code></pre>
  
  <p>Sample data:</p>
  
  <pre><code>INSERT INTO orders VALUES
  ('01120736182','ORD6266073'  ,'2010-12-08','100856-01',39.90), 
  ('01120736182','ORD33997609' ,'2011-11-23','100265-01',49.99), 
  ('01120736182','ORD33997609' ,'2011-11-23','200020-01',29.99), 
  ('01120736182','ORD33997609' ,'2011-11-23','100817-01',44.99), 
  ('01120736182','ORD89267964' ,'2012-12-05','200251-01',79.99), 
  ('01120736182','ORD89267964' ,'2012-12-05','200269-01',59.99), 
  ('01011679971','ORD89332495' ,'2012-12-05','200102-01',169.99), 
  ('01120736182','ORD89267964' ,'2012-12-05','100907-01',89.99), 
  ('01120736182','ORD89267964' ,'2012-12-05','200840-01',129.99), 
  ('01120736182','ORD125155068','2013-07-27','201443-01',199.99), 
  ('01120736182','ORD167230815','2014-06-05','200141-01',59.99), 
  ('01011679971','ORD174927624','2014-08-16','201395-01',89.99), 
  ('01000217334','ORD92524479' ,'2012-12-20','200021-01',29.99), 
  ('01000217334','ORD95698491' ,'2013-01-08','200021-01',19.99), 
  ('01000217334','ORD90683621' ,'2012-12-12','200021-01',29.990), 
  ('01000217334','ORD92524479' ,'2012-12-20','200560-01',29.99), 
  ('01000217334','ORD145035525','2013-12-09','200972-01',49.99), 
  ('01000217334','ORD145035525','2013-12-09','100436-01',39.99), 
  ('01000217334','ORD90683374' ,'2012-12-12','200284-01',39.99), 
  ('01000217334','ORD139437285','2013-11-07','201794-01',134.99), 
  ('01000827006','W02238550001','2010-06-11','HL 101077',349.000), 
  ('01000827006','W01738200001','2009-12-10','EL 100310 BLK',119.96), 
  ('01000954259','P00444170001','2009-12-03','PC 100455 BRN',389.99), 
  ('01002319116','W02242430001','2010-06-12','TR 100966',35.99), 
  ('01002319116','W02242430002','2010-06-12','EL 100985',99.99), 
  ('01002319116','P00532470001','2010-05-04','HO 100482',49.99);
  </code></pre>
  
  <p>Using the query below I am trying to get the number of distinct customers by order_submitted_date:</p>
  
  <pre><code>select
      g.order_date as "Ordered",
      count(distinct o.persistent_key_str) as "customers"
  from
      generate_series(
          (select min(ord_submitted_date) from orders),
          (select max(ord_submitted_date) from orders),
          '1 day'
      ) g (order_date) 
  left join
      orders o on o.ord_submitted_date between g.order_date - interval '364 days'
                                           and g.order_date
  WHERE extract(year from ord_submitted_date) &lt;= 2009
  group by 1
  order by 1
  </code></pre>
  
  <p>This is the output I expected.</p>
  
  <pre><code>Ordered      Customers
  2009-12-03   1
  2009-12-10   1
  </code></pre>
  
  <p>When I execute the query above I get incorrect results.<br>
  How can I make this right?</p>