gpt4 book ai didi

mySQL,二维转一维

转载 作者:行者123 更新时间:2023-11-29 11:18:45 24 4
gpt4 key购买 nike

我已经忘记了我以前所知道的关于枢轴的一切,但在我看来,情况正好相反。假设我有一组项目 A、B、C、D……和属性列表 W、X、Y、Z。我在电子表格中有类似

    A    B    C    D
W 1 P 3 Q
X 5 R 7 S
Y T 2 U 4
Z D 6 F 7

其中项目 B 的属性 X 的值为“P”。为了进行一些比较统计,我想将其从表格更改为列表,即

W    A    1
X A 5
Y A T
Z A D
W B P
X B R
Y C U
Z C F
W D Q
X D S
Y B 2
Z B 6
Etc.

我可以轻松地在电子表格中编写嵌套循环宏来完成此操作,但是有没有一种简单的方法可以将其以所需的格式导入到 mySQL 中?如果数据采用第二种格式,则获取所需统计信息的查询在 SQL 中很简单(在电子表格中公式也不是很难)。

由于显然没有“电子表格”标签,因此我使用了“excel”。 :-)

有很多问题乍一看很相似,但我看到的五个问题都想丢弃其中一个索引(A-D或W-Z),即创建类似的东西

W   1
W P
X 5
X R

最佳答案

已编辑

您可以使用 PowerQuery 取消透视表。请参阅 teylyn 对于以下问题的回答。我有 Office 365,不需要先安装该插件。该功能已经可用。

Convert matrix to 3-column table ('reverse pivot', 'unpivot', 'flatten', 'normalize')

Another way to unpivot data without using VBA is with PowerQuery, a free add-in for Excel 2010 and higher, available here: http://www.microsoft.com/en-us/download/details.aspx?id=39379

...

Click the column header of the first column to select it. Then, on the Transform ribbon, click the Unpivot Columns drop-down and select Unpivot other columns.

...

旧答案

如果按原样导入电子表格,则可以运行查询来输出正确的格式。对于固定的少量项目,您可以对每一列使用 UNION

SELECT attr, 'A' AS 'item', A AS 'value'
FROM sheet
UNION
SELECT attr, 'B' AS 'item', B AS 'value'
FROM sheet
UNION
SELECT attr, 'C' AS 'item', C AS 'value'
FROM sheet
UNION
SELECT attr, 'D' AS 'item', D AS 'value'
FROM sheet;

工作示例:http://sqlfiddle.com/#!9/c274e7/7

关于mySQL,二维转一维,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39322565/

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