任何人都可以帮助我进行将列转换为行然后相应地查找数据的查询。
问题如下。我尝试了一个查询,将列名放入行中,但我无法获取值或有任何想法为第 3 列和第 4 列找出它。我是 SQL 的新成员。有谁可以帮我离开这里吗。我从朋友那里听说过 Pivot,当我浏览时发现 MYSQL 不支持 PIVOT
Input Table:
E1 E2 E3 E4 E5 E6
Null 1234 234 12 A B
123 Null Null Null 12 B
Null Null Null Null Null Null
123 2 1 A 1 2
Output Table:
C1 C2 Count TotalC percent
E1 123 2 2 1
E2 1234 1 2 0.5
E2 2 1 2 0.5
E3 234 1 2 0.5
E3 1 1 2 0.5
E4 12 1 2 0.5
E4 A 1 2 0.5
E5 A 1 3 0.3
E5 12 1 3 0.3
E5 1 1 3 0.3
E6 B 2 3 0.6
E6 2 1 3 0.3
问题解释:
- C1 是输入表的列名。
- C2 是那些列中的数据。
- 计数是每列中相似项目和单项的数量。
- TotalC 是非空值的总数。
- 百分比是计数/总数。
查询我工作:SELECT (COLUMN_NAME)AS Column1 FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = 'inputtable';
注意:在 MYSQL 中查询。