Welcome toVigges Developer Community-Open, Learning,Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
367 views
in Technique[技术] by (71.8m points)

database - how can I aggregation values with all the values from a column in MySQL

If I have a table below:

company | year |quarter| revenue
A          2019   1       200
A          2019   3       100
B          2019   2       80
B          2019   4       40

How can I get the result displayed as:

year |quarter| company |revenue
2019   1        A
2019    2       A
2019    3       A
2019    4       A
2019    1       B
...     ...     B


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

A cross join should do

with cte as
(
select distinct company,year from t
)
select cte.year,s.qtr,cte.company
from cte
cross join (select 1 as qtr union select 2 union select 3 union select 4) s 
order by cte.company,s.qtr;

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to Vigges Developer Community for programmer and developer-Open, Learning and Share
...