如何解决如何从一列SQL
一段时间以来,我一直在寻找解决方案,我拥有以下SQL数据库:
| Date | Name | Value |
|-----------------------|---------------|-------|
| 01-01-2020:12:00 | sensor01 | 5 |
| 01-01-2020:13:00 | sensor01 | 15 |
| 01-01-2020:14:00 | sensor01 | 25 |
| 01-01-2020:12:00 | sensor02 | 10 |
| 01-01-2020:13:00 | sensor02 | 20 |
| 01-01-2020:14:00 | sensor02 | 30 |
我要做的是将“名称”列中的数据实际分散到多个列中,每个“列”下的“值”都匹配。如下所示:
| Date | Sensor01 | Sensor02 |
|-----------------------|---------------|-----------|
| 01-01-2020:12:00 | 5 | 10 |
| 01-01-2020:13:00 | 15 | 20 |
| 01-01-2020:14:00 | 25 | 30 |
我尝试了几件事,包括:“ PIVOT”功能和“ when case”,但这并没有真正的帮助,我仍然很困惑! 我该怎么做呢?应该使用哪些功能?
我仍然是初学者,因此任何提示/想法/建议都将受到高度赞赏。
谢谢!
解决方法
使用条件聚合:
select
date,max(case when name = 'sensor01' then value end) sensor01,max(case when name = 'sensor02' then value end) sensor02
from mytable
group by date
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。