【发布时间】:2021-01-01 21:23:40
【问题描述】:
我想从 SQL Server 2019 中提取数据,以便能够在报表中的折线图上呈现它。我的数据是给定技能的工作机会数量。基本上,我正在抓取工作委员会,以便能够估计在给定时间段内针对给定技能有多少工作机会。
我编写了一个简单的group by 查询,它得到了我想要的数据:
select sn.Name, csr.CreatedAt, sum(csr.JobOffersCount) as Amount
from CompanySkillRegionDemands csr,
SkillNames sn
where csr.SkillId = sn.SkillId
and sn.Language = 'en'
group by sn.Name, csr.CreatedAt
order by CreatedAt
数据看起来像:
| Name | CreatedAt | Amount |
|---|---|---|
| ASP.NET MVC | 2020-05-13 | 40 |
| Webforms | 2020-05-13 | 2 |
| Microsoft Visio | 2020-05-13 | 6 |
| SAP BI | 2020-05-13 | 1 |
很长一段时间。问题是重复的名称和日期。每个日期都有一个名称,这是正确的,但在将其提取到 csv 后,也很难从中绘制 excel 图表。
我更喜欢有一个矩阵,其中日期在 Y 轴上,技能名称在 X 轴上,如下所示:
| .NET | SAP | |
|---|---|---|
| 2020-05-13 | 2 | 3 |
| 2020-05-14 | 1 | 5 |
我将如何绕过它?
【问题讨论】:
-
如何定义“.net”和“.sap”?
-
它只是数据中的技能名称,例如 ASP.NET MVC 或 Java。我有超过 300 种类似的技能,并且每个日期都有 300 个技能名称。
-
进化——没有人应该使用old-style joins。
标签: sql sql-server sql-server-2019