【问题标题】:need some adjusment(help) with mysql table需要对 mysql 表进行一些调整(帮助)
【发布时间】:2023-03-26 17:47:01
【问题描述】:

我需要在 mysql 中创建一个 24/7 表,比如行应该是天(周一,周二...周日),列应该是 24 小时(列),比如(1,2,3,.. .24)。

我所做的是为几天创建单独的表,例如周一一张表,周二一张表等等,它们的列是 1,2,3,...24。

最后做了一个 UNION ALL 以按照我想要的方式将所有行放在一起,但问题是行(表)名称没有显示,因为联合只组合列而不是表名。

我确实想要 7 行作为天,24 列作为小时,关于如何做到这一点的任何帮助。

【问题讨论】:

  • 这是一个糟糕的架构。我会回答你的问题,但我怀疑这是你真正需要的。
  • "并且列应该是 24 小时(列),例如 (1,2,3,...24)。"坏主意。
  • 是的,每天创建 365 个表,o_O 年创建一个 DB

标签: mysql html


【解决方案1】:

在您的所有SELECTs 中添加一个额外的列,并注明当天的名称

SELECT 'Sunday', `1`, `2`, `3`... FROM `Sunday`
UNION ALL
SELECT 'Monday', `1`, `2`, `3`... FROM `Monday`
UNION ALL
...

【讨论】:

  • 它可以工作,但是当我在星期天执行 UNION ALL ORDER BY 时,甚至显示星期天,有没有办法在列字段中删除星期天的表名?
  • 我不明白ORDER BY sunday 应该做什么。您希望列有名称吗? SELECT 'Sunday' AS dayofweek.
  • 我实际上在表的开头添加了另一列并将其设置为具有自动增量的主键,所以当我执行 UNION ALL 时,自动增量值也会显示,我想摆脱自动增量值并在其位置添加时间戳,这可能吗?
  • 另作一列,在里面放个时间戳,不要选择主键列...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-13
  • 1970-01-01
  • 2014-04-23
  • 2019-05-12
  • 1970-01-01
相关资源
最近更新 更多