如何解决透视动态列 - 一次 12 个月
我的表有以下格式的数据;其中 period
指的是一年中的给定月份。
// table
id name location type period value
1 foo bar baz 2021-01-01 500
2 foo bar baz 2021-02-01 1500
3 foo bar baz 2021-03-01 1500
...
// desired output
id name location type MonthJan MonthFeb MonthMar
1 foo bar baz 500 1500 1500
...
而且我(认为)我需要调整结果以显示任何给定的 12 个月数据。搜索了 Stackoverflow 后,将其散列在一起,这是我眼中的“半动态”支点。它似乎有效,但看起来有点简单/笨重。
最终目标是获得每个amount
的{{1}}之和
period
我的目的是让用户将条件传递给“期间”,然后返回 2021 年 2 月 1 日至 2022 年 1 月 31 日之间的所有数据——基本上是 12 个月。
这种方式可行,但如果他们想查看 2 年的数据,它很快就会变得平淡无奇(我需要 24 列,而不仅仅是 12 列)。
我看过动态查询 - 似乎我的方法是错误的 - 这是否可行或是否需要重新考虑?
我目前正在使用 MysqL,据我所知它没有数据透视功能,但解决方案需要尽可能灵活(即使用 sql 服务器),因此我正在研究这种 SUM/case 方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。