【问题标题】:Question about the merits of Pivot vs Case关于 Pivot vs Case 优点的问题
【发布时间】:2011-03-11 17:17:16
【问题描述】:

我有一个返回对象属性的查询。我想要的是将属性转入表格。我见过数据透视表曾经做过这样的事情,但只在数据透视表中的列上执行聚合函数的地方。我也看到过用 case 语句来做同样的事情。

由于您必须手动写出枢轴中的每一列,因此每个列的工作量相对相同。一种比另一种有什么优势和局限性?

【问题讨论】:

    标签: sql case pivot-table


    【解决方案1】:

    我同意肯的观点。我从不记得 PIVOT 语法没有提到 BOL,此外它不如旧学校的 case 语句灵活。你只能有一个聚合意味着不可能做类似的事情。

    SELECT COUNT(CASE WHEN foo='bar' THEN foo END) AS bar_count,
             SUM(CASE WHEN foo='bar' THEN foo END)  AS bar_sum
    FROM your_table     
    

    【讨论】:

      【解决方案2】:

      我试过 PIVOT 并没有发现任何优势,你仍然需要指定每列的名称(如果我记得两次),而且语法远不如 case 语句直观。

      尝试了几次后,我回到了 CASE。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-07-18
        • 2010-10-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多