mySQL将表旋转90度[重复]
Posted
技术标签:
【中文标题】mySQL将表旋转90度[重复]【英文标题】:mySQL Rotate Table 90 degrees [duplicate] 【发布时间】:2021-12-01 06:40:34 【问题描述】:我有一个大约 100 列的表,只有一行。每列是一个日期,一列中的每个条目是一个对应的值。我想查询该表,使其仅显示 2 列:日期、值。
|--------|--------|--------|--------|--------|--------|
| Date1 | Date2 | Date3 | Date4 | Date5 | Date6 |
|--------|--------|--------|--------|--------|--------|
| Value1 | Value2 | Value3 | Value4 | Value5 | Value6 |
|--------|--------|--------|--------|--------|--------|
我想要什么:
|--------|--------|
| Dates | Values |
|--------|--------|
| Date1 | Value1 |
|--------|--------|
| Date2 | Value2 |
|--------|--------|
| Date3 | Value3 |
|--------|--------|
| Date4 | Value4 |
|--------|--------|
| Date5 | Value5 |
|--------|--------|
| Date6 | Value6 |
【问题讨论】:
~100 列 1 行闻起来很糟糕。每次您尝试做某事时,这种糟糕的设计都会给您带来越来越多的麻烦。首先修复您的设计 不是自己设计的,但这是我在查询数据后打算做的事情 好吧,先做吧。当您的自行车轮胎被刺破时,您是先给它充气再修复它还是相反? @Cid 如果我想要自行车建议,我会在 tumblr 上 通过 INFORMATION_SCHEMA.COLUMNS 收集列列表。构建多 UNION 查询文本。执行。 【参考方案1】:您不应该使用此列的设计.. 但无论如何,如果您需要分隔行中的列的结果,您可以尝试使用 UNION ALL
select 'date1', date1
from mytable
union all
select 'date2', date2
from mytable
......
union all
select 'date100', date100
from mytable
正如@akina 在评论中所建议的,您可以使用 INFORMATION_SCHEMA.COLUMNS 动态构建查询
【讨论】:
以上是关于mySQL将表旋转90度[重复]的主要内容,如果未能解决你的问题,请参考以下文章
CSS3 从 0 旋转到 90,然后从 90 旋转到 180