sql - SQL - 转置查询数据并添加了额外的行
问题描述
我再次来寻求您的指导。我实际上不确定这有多大可能,但我只能希望。
我有一个已经大量加入和聚合的查询,它会提取结果,如附图所示。
如前所述,这是一个已经大量编辑的查询,具有多个连接和聚合,以获取半小时数据并每小时汇总一次。
我想知道现在是否有可能转置数据,以便每个日期有 24 个单独的小时条目?
因此,与其在 2014 年 1 月 1 日在单独的列中每小时读取一行,不如将其更改为只有两列。一个用于日期/时间,一个用于每小时总数。
所以它看起来更像:
然后每天每个小时继续下降。
如果有帮助,我正在使用 SQL Server 2014。
先感谢您!
解决方案
假设您的时间列名为time0
, time1
, ...,time23
您可以编写
SELECT DateAdd(HOUR, 0, date) as DateTime, time0 as total from table
UNION
SELECT DateAdd(HOUR, 1, date) as DateTime, time1 as total from table
UNION
...
SELECT DateAdd(HOUR, 23, date) as DateTime, time23 as total from table
推荐阅读
- python - 如何在 pygame 屏幕上放置文本?
- javascript - NextJS 中 url 中的动态路由和附加搜索参数
- flutter - Flutter:如何使用默认值设置下拉文本并根据该值获取数据表中的记录?
- excel - 如何删除用户指定行中的特定单元格
- web - 理想的编程语言
- javascript - D3:将额外参数传递给 selection.join() 中的 attr 函数
- vue.js - Nuxt Fetch 运行 2 次(在服务器和客户端上)
- python - 根据 pandas 中的某些条件比较两个时间序列数据帧
- android - 我可以在 android 库中使用 google recaptcha
- python - 如何解决约束中的冲突问题