Did you know that the average return from investing in stocks is 10% per year (not accounting for inflation)? But who wants to be average?!
You have been asked to support an investment firm by analyzing trends in high-growth companies. They are interested in understanding which industries are producing the highest valuations and the rate at which new high-value companies are emerging. Providing them with this information gives them a competitive insight as to industry trends and how they should structure their portfolio looking forward.
You have been given access to their unicorns
database, which contains the following tables:
dates
Column | Description |
---|---|
company_id | A unique ID for the company. |
date_joined | The date that the company became a unicorn. |
year_founded | The year that the company was founded. |
funding
Column | Description |
---|---|
company_id | A unique ID for the company. |
valuation | Company value in US dollars. |
funding | The amount of funding raised in US dollars. |
select_investors | A list of key investors in the company. |
industries
Column | Description |
---|---|
company_id | A unique ID for the company. |
industry | The industry that the company operates in. |
companies
Column | Description |
---|---|
company_id | A unique ID for the company. |
company | The name of the company. |
city | The city where the company is headquartered. |
country | The country where the company is headquartered. |
continent | The continent where the company is headquartered. |
The output
Your query should return a table in the following format:
industry | year | num_unicorns | average_valuation_billions |
---|---|---|---|
industry1 | 2021 | --- | --- |
industry2 | 2020 | --- | --- |
industry3 | 2019 | --- | --- |
industry1 | 2021 | --- | --- |
industry2 | 2020 | --- | --- |
industry3 | 2019 | --- | --- |
industry1 | 2021 | --- | --- |
industry2 | 2020 | --- | --- |
industry3 | 2019 | --- | --- |
Where industry1
, industry2
, and industry3
are the three top-performing industries.
with cte1 as (select i.industry,
extract(year from d.date_joined) as year,
count(d.company_id) as num_unicorns,
round(avg(f.valuation/100000000),2) as average_valuation_billions
from
dates as d
inner join funding as f
on d.company_id = f.company_id
inner join industries as i
on f.company_id = i.company_id
where extract(year from d.date_joined) in (2019,2020,2021)
group by 1,2
order by 2 desc, 3 desc),
cte2 AS (select *,
row_number() over(partition by year order by year desc) as row_n
from cte1)
select industry, year, num_unicorns, average_valuation_billions
from cte2
where row_n <4
order by row_n, year desc;
with a as (select
i.industry,
extract(year from d.date_joined) as year,
count(c.company_id) as num_unicorns,
round(avg(f.valuation/1000000000),2) as average_valuation_billions
from industries as i
inner join dates as d
on i.company_id=d.company_id
inner join funding as f
on i.company_id=f.company_id
inner join companies as c
on i.company_id=c.company_id
where extract(year from d.date_joined) in(2019,2020,2021)
group by 1,2
order by 2 desc,3 desc),
b as (select
*,
row_number() over(partition by year order by year desc, num_unicorns desc) as Row_N
from a
order by year desc, num_unicorns desc, row_n asc)
Select
industry,
year,
num_unicorns,
average_valuation_billions
from b
where row_n <=3
order by row_n asc, year desc, num_unicorns desc
;