我试了好几个小时想出一个查询,但我什至不知道这是否有可能将不同行的信息集中在一起

I tried for many hours to come up with a query but I don't even know if this is possible to have information from different rows in one

我有一个样本table存储信息如下:两个子系统是mini1和mini2

System Date Sub System Count
primary 2022-05-11 mini1 103
secondary 2022-05-11 mini2 100
secondary 2022-05-11 mini1 10
backup 2022-05-11 mini2 95
backup 2022-05-11 mini1 11
primary 2022-05-11 mini2 15
primary 2022-04-01 mini1 0
secondary 22022-04-01 mini2 0
secondary 2022-04-01 mini1 100
backup 2022-04-01 mini2 0
backup 2022-04-01 mini1 110
primary 2022-04-01 mini2 0

我想以如下格式获取每个系统的最新信息,其中只考虑最新日期。

System Latest Date mini1 Count mini 2 Count
primary 2022-05-11 103 15
secondary 2022-05-11 10 100
backup 2022-05-11 11 95

这可以通过 sql 实现吗?

做一个GROUP BY。使用case表达式条件聚合.

select System,
       max(Date) LatestDate,
       sum(case when SubSystem = 'mini1' then count else 0 end) Mini1Count,
       sum(case when SubSystem = 'mini2' then count else 0 end) Mini2Count
from tablename
group by System