sql 将 2 行合并为 1
sql combine 2 rows into one
我有以下数据集:
我正在尝试将左侧的 table 转换为右侧的 table。我有几份名称相同但销售的产品不同的订单。我想合并行以便它只显示一个 orderID。我试过根据顺序将 table 加入自身,但我一定是做错了什么。你们有什么建议吗?这可能非常简单,但我还不精通 SQL。先感谢您。
如果每一列最多有一个值,可以使用group by
:
select order, name, max(product1) as product1, max(product2) as product2,
max(product3) as product3
from lefttable
group by order, name;
也就是说,我怀疑左边的table是查询数据的结果。您可能只需要该查询的正确聚合。
此外,如果您在订单的任何列中有多个值,您仍然可以这样做,但查询会稍微复杂一些。
我有以下数据集:
我正在尝试将左侧的 table 转换为右侧的 table。我有几份名称相同但销售的产品不同的订单。我想合并行以便它只显示一个 orderID。我试过根据顺序将 table 加入自身,但我一定是做错了什么。你们有什么建议吗?这可能非常简单,但我还不精通 SQL。先感谢您。
如果每一列最多有一个值,可以使用group by
:
select order, name, max(product1) as product1, max(product2) as product2,
max(product3) as product3
from lefttable
group by order, name;
也就是说,我怀疑左边的table是查询数据的结果。您可能只需要该查询的正确聚合。
此外,如果您在订单的任何列中有多个值,您仍然可以这样做,但查询会稍微复杂一些。