【问题标题】:Turn 3 column table in 2-dimensional matrix in MySQL在MySQL中的二维矩阵中转3列表
【发布时间】:2024-01-01 21:34:01
【问题描述】:

我有一个如下所示的表格:

color | size | deliverytime
--------------------
red   |   S  |  1
red   |   M  |  3
red   |   L  |  5
black |   S  |  2
black |   M  |  4
black |   L  |  6

我现在希望表格转换成这样的:

      S | M | L
      ---------
  red 1 | 3 | 5
black 2 | 4 | 6

背景是:例如一件 T 恤的交货时间是不同的,具体取决于颜色和尺寸。并非每种颜色都适用于每种尺寸,并且尺寸也不是固定的,例如女性尺码可以从 36、38、40 开始,而不是 S、M、L。 所以这里让我困惑的是如何将第一个表的值动态转换为第二个的列标题。

尺寸的有效值列表太大,无法制作出一张大表格。

我想在 MySQL 中执行此操作,例如作为一个函数。我能想到的唯一其他选择是用另一种语言来做,因为输出将是 HTML。我真的不知道我应该如何谷歌这个。

【问题讨论】:

    标签: mysql tabular


    【解决方案1】:

    如果我做对了,您将尝试按颜色和大小进行分组。您只需在查询末尾添加GROUP BY color, size 即可获得相同的数据。然后你可以在输出html时格式化你的数据。

    为了充分利用 sql,您可能希望避免根据数据矩阵来查看它。

    【讨论】: