Untitled

From Hot Tern, 4 Months ago, written in SQL, viewed 53 times.
URL http://codebin.org/view/f16c0ffb Embed
Download Paste or View Raw
  1. --Отбираю даты и названия фондов, участвующих в эти даты
  2. WITH
  3.  
  4. month_fund AS (
  5.     SELECT
  6.           dt,
  7.           COUNT(dt) fund_count
  8.     FROM (SELECT
  9.               EXTRACT(MONTH FROM funded_at::DATE) dt,
  10.               f.name
  11.          FROM funding_round fr
  12.          JOIN investment i ON fr.id=i.funding_round_id
  13.          JOIN fund f ON f.id=i.fund_id
  14.          WHERE (funded_at BETWEEN '2010-01-01' AND '2013-12-31')
  15.          AND f.country_code='USA'
  16.          GROUP BY EXTRACT(MONTH FROM funded_at::DATE),  f.name) AS a
  17.    
  18.       GROUP BY dt),
  19.    
  20.  
  21. month_acquired  AS (
  22.     SELECT
  23.           COUNT(*) count_sold_companies,
  24.           dt,
  25.           SUM(total) total
  26.      FROM (
  27.             SELECT
  28.                    EXTRACT(MONTH FROM acquired_at::DATE) AS dt,
  29.                    price_amount total,
  30.                    acquired_company_id
  31.             FROM acquisition a
  32.             JOIN company c ON c.id=a.acquired_company_id
  33.             WHERE acquired_at  BETWEEN '2010-01-01' AND '2013-12-31'
  34.             GROUP BY EXTRACT(MONTH FROM acquired_at::DATE), price_amount, acquired_company_id
  35.             ORDER BY EXTRACT(MONTH FROM acquired_at::DATE)) AS b
  36.             GROUP BY dt)
  37.  
  38.  
  39. --Объединяю таблицы про фонды и проданные компании
  40. SELECT month_acquired.dt, fund_count, count_sold_companies, total
  41. FROM month_fund
  42. LEFT JOIN month_acquired ON month_acquired.dt=month_fund.dt
  43. ORDER BY dt
  44.    
  45.  

Reply to "Untitled"

Here you can reply to the paste above