【问题标题】:DolphinDB pivot tableDolphinDB 数据透视表
【发布时间】:2019-12-31 05:06:30
【问题描述】:

我有一张看起来像这样的桌子:

id CompanyName ProductID productName
-- ----------- --------- -----------
1  c1          1         p1         
2  c1          2         p2         
3  c2          2         p2         
4  c2          3         p3         
5  c3          3         p3         
6  c4          3         p3         
7  c5          4         p4         
8  c6          4         p4         
9  c6          5         p5         

是否可以运行 DolphinDB 查询以获得如下输出:

companyName p1  p2  p3  p4  p5
------------------------------
c1          1   1   0   0   0
c2          0   1   1   0   0
c3          0   0   1   0   0
c4          0   0   1   0   0
c5          0   0   0   1   0
c6          0   0   0   1   1

上表中的值是每个公司每个产品的数量。我通过查询得到:

select count(*) from t group by companyName,productName

【问题讨论】:

    标签: pivot dolphindb


    【解决方案1】:
    t1=select count(ProductID) from t pivot by CompanyName, productName
    nullFill!(t1,0)
    

    【讨论】:

    • 请解释
    • 虽然此代码可能会回答问题,但提供有关它如何和/或为什么解决问题的额外上下文将提高​​答案的长期价值。
    • 虽然此代码可能会为 OP 的问题提供解决方案,但强烈建议您提供有关此代码为何和/或如何回答问题的额外上下文。从长远来看,只有代码的答案通常会变得毫无用处,因为未来遇到类似问题的观众无法理解解决方案背后的原因。
    • pivot by 是 DolphinDB 中的一项独特功能,也是标准 SQL 的扩展。它在二维上重新排列表格的一列。 count(ProductID) 可以得到每个公司中每个产品的数量。 nullFill!(t,0) 将替换表 t 中的所有 NULL
    猜你喜欢
    • 2020-06-11
    • 2018-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-13
    • 2015-06-25
    • 2023-04-11
    相关资源
    最近更新 更多