【问题标题】:how can I aggregation values with all the values from a column in MySQL如何将值与 MySQL 中列中的所有值聚合
【发布时间】:2021-04-14 13:42:28
【问题描述】:

如果我有下面的表格:

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

我怎样才能让结果显示为:

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

【问题讨论】:

  • 收入是否故意在预期结果中为空?
  • @P.Salmon 是的,忽略它。

标签: mysql database aggregation


【解决方案1】:

应该做交叉连接

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;

【讨论】:

    猜你喜欢
    • 2022-12-08
    • 1970-01-01
    • 1970-01-01
    • 2015-08-11
    • 1970-01-01
    • 1970-01-01
    • 2021-07-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多