当前位置: 首页 > 知识库问答 >
问题:

使用列名取消透视

时浩波
2023-03-14

我有一个表studentmarks,其中有列name、数学、科学、英语。数据就像

Name,  Maths, Science, English  
Tilak, 90,    40,      60  
Raj,   30,    20,      10
Name,  Subject,  Marks
Tilak, Maths,    90
Tilak, Science,  40
Tilak, English,  60
select Name, Marks from studentmarks
Unpivot
(
  Marks for details in (Maths, Science, English)

) as UnPvt

共有1个答案

张晨朗
2023-03-14

您的查询非常接近。您应该能够使用以下内容,其中包括最终选择列表中的主题

select u.name, u.subject, u.marks
from student s
unpivot
(
  marks
  for subject in (Maths, Science, English)
) u;

参见SQL Fiddle with演示

 类似资料:
  • 问题内容: 我有一张有栏的桌子。数据就像 我想像下面这样安排它: 使用unpivot,我能够正确获取Name,Marks,但无法将源表中的列名获取到所需结果集中的列。 我怎样才能做到这一点? 到目前为止,我已经达到以下查询(获取名称,商标) 问题答案: 您的查询非常接近。您应该能够使用以下内容,其中包括最终选择列表中的内容: 参见带有演示的SQL Fiddle

  • 问题内容: 我正在尝试取消数据集中的多个列。这是我的数据。 我像这样坚定不移… 但是我真正需要的是如下… 我怎样才能做到这一点? 问题答案: 只是…您需要指定所有列而不是星号。 像这样http://sqlfiddle.com/#!4/12446/21

  • 问题内容: 我试图取消有多个行和列的表。每行需要引出到具有特定列的2行,并且列名需要重命名,并且需要根据所选列添加新列! 我包括示例数据之前和之后以及用于设置数据的脚本。 我已经尝试过了,但是我无法通过第二列,而且我不确定如何添加带有特定文本的新列(可能是动态sql,但如果可能的话,尽量避免这种情况) 这是我尝试的开始,我们将不胜感激。 问题答案: 你只是保持不懈 并加入col列以滤除不匹配项

  • 问题内容: 我将重点放在关键值对上,以便与另一台服务器上的值进行比较以进行一致性测试。我遇到了一个返回错误的问题。 Msg 8167,第16级,状态1,第51行 列“类型”的类型与UNPIVOT列表中指定的其他列的类型冲突。 询问: 为什么这样不喜欢,,??? 我也尝试过 问题答案: 这实际上是整理问题。我可以通过更改以下行来解决: 特定的问题是整理为,而您提到的其他3列则整理为(至少,在我的机器

  • 我正在使用pbkdf2算法来散列密码。为每个密码生成一个随机salt,并设置迭代次数,以使计算持续约1秒。 我也在sambe缓冲区中保存盐和哈希: 我的问题是,这个散列密码没有链接到一个用户(一个用户可以有多个密码),我需要有可能取消密码只使用密码本身。我看到的唯一方法是将密码散列到数据库中的每一个salt中取消,直到找到相同的散列,这将花费永远的时间(每一个salt 1秒)。 还有更好的方法吗?

  • 我有一个数据帧与二进制值后执行get_dummies使用熊猫 我想要一个新的列,它有所有列的组合,其中有1 实际矩阵可以是25000行*1000列 在R中也有类似的解决方案,但是我需要它在Python中,因为所有其他的依赖都在Python中,R对我来说是新的。 在二进制矩阵中提取值为1的列名 类似的东西如何才能在Python中达到我的预期输出?