gpt4 book ai didi

mysql - 如何在 SQL 中将列分组为单独的行

转载 作者:搜寻专家 更新时间:2023-10-30 21:49:23 24 4
gpt4 key购买 nike

我没有深厚的 SQL 背景,最近遇到了一个 SQL 问题,似乎很难用 JUST SQL 解决。

我有一张 table

```

IMEI | DATE | A_1 | A_2 | A_3 | B_1 | B_2 | B_3
2132 | 09/21| 2 | 4 | 4 | 5 | 2 | 4
4535 | 09/22| 2 | 2 | 4 | 5 | 2 | 3
9023 | 09/21| 2 | 1 | 5 | 7 | 2 | 2

```

如何以某种方式对 A_1A_2 等值进行分组,以便实现此表。基本上,我想对表中的某些列进行分组,并将它们放入不同的行中。

IMEI | DATE | MODULE | val_1 | val_2 | val_3
2132 | 09/21| A | 2 | 4 | 4
2132 | 09/21| B | 5 | 2 | 4
...

目标是在命名空间 AB 等下具有值,以便在新表中将一行分成不同的行。

此外,关于我可以在哪里改进我的 SQL 的任何建议。我应该保留哪些书籍作为引用或我应该使用的任何其他资源?

谢谢!

最佳答案

您可以使用 UNION 来完成:

SELECT IMEI, DATE, 'A' AS MODULE, A_1 AS val_1, A_2 AS val_2, A_3 AS val_3
FROM myTable

UNION ALL

SELECT IMEI, DATE, 'B', B_1, B_2, B_3
FROM myTable

查看 sqlfiddle .

但实际上,您应该以上述查询创建的形式存储数据,然后在需要时使用 JOIN 创建原始格式。

关于mysql - 如何在 SQL 中将列分组为单独的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46515556/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com