Untitled

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

Reply to "Untitled"

Here you can reply to the paste above