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

将行转换为列以删除SQL中公共值上的重复项

俞衡虑
2023-03-14

我是SQL的初学者,正在尝试如何将数据转换为列以删除重复的条目。我试过pivot,但我不需要聚合值。如有任何帮助,我们将不胜感激。

当前状态:

目标状态:

共有1个答案

岳英锐
2023-03-14

您可以使用case表达式的聚合轻松完成此操作

select clientId, 
    Max(case when AddressType='Home' then Country end) Home,
    Max(case when AddressType='Postal' then Country end) Postal
from clients
group by ClientId

 类似资料:
  • 我有以下Python数据帧: 我想:

  • 我尝试在中使用,但它将聚合函数作为参数,我不想提供。 我怎样才能做到这一点。

  • 我有一个这样的数据框, 因为传感器的数量是可变的,所以我决定把它们写成行,比如, 我想知道是否有任何方便的方法将df1转换为df2? 附录:为方便起见,df1代码,

  • 问题内容: 我有一个以下格式的表格 我想将其转换为以下格式 如何通过sql查询或sql服务器程序集实现此目的? 问题答案: 您可以完成。如果您知道已知的列数,则可以对值进行硬编码: 参见带有演示的SQL Fiddle 如果列数未知,则可以使用动态sql: 参见带有演示的SQL Fiddle 您甚至可以使用:

  • 问题内容: 我有一个SQL查询返回1行,其中包含多个列标题: 有没有一种方法可以将该行转换为2列,即: 这是在SQLServer 2008 r2上运行 编辑:添加一个更好的例子 来自一个简单的 类型查询。我要显示的是: 问题答案: 试试这个

  • 问题内容: 考虑下面的示例,其中有一个包含人员记录的 Person 表和一个包含链接到人员的可选属性的 PersonAttribute 表: Table: Person Table PersonAttribute 我将如何编写一个查询,使所有具有属性的人都像列一样返回?我需要的结果集是: 因此,从本质上讲,我需要编写一个查询,该查询将获取所有带有所有唯一属性键的人记录,这些键被转换为具有每个人记录