微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

重新排序汇总的输出,其中小计显示在相应类别的开头或结尾

如何解决重新排序汇总的输出,其中小计显示在相应类别的开头或结尾

我们希望汇总中的小计显示在每个相应类别的开头/结尾。以下是我们尝试过的对下表的查询。但是,Coalesce 不会用“total”替换空值,因为输出中没有显示空值或“total”,这意味着汇总不起作用。我们的假设是,某些东西与脚本的序列(与序列)不符。我们只熟悉Postgres sql。感谢您的任何建议!

表格

客户表:

|  customer_id|customer_name|segment    |
  -----------  -----------   ----------
|1            |Bob          |Consumer   |
|2            |Mary         |Corporate  |
|3            |Bill         |Home Office|
|4            |Kathy        |Consumer   |

产品表:

|product_id      |category  |sub_category|product_name            |
 --------------  ----------  -----------  -----------------------
|FUR-ADV-10000002|furniture |furnishings |Advantus Clock Ergonomic|
|FUR-BO-10000002 |furniture |bookcases   |Bush Classic Bookcase   |
|TEC-bro-10000348|technology|copiers     |brother copy Machine    |
|TEC-EPS-10000053|technology|machines    |Epson Printer Red       |
|OFF-AR-10000019 |office sup|art         |BIC Highlighters Blue   |
|OFF-EAT-10000522|office sup|paper       |Eaton Comp Printout     |

订单表:

|order_id       |product_id      |customer_id|sales |
 --------------  ---------------  ----------  -----
|AE-2016-1308551|FUR-ADV-10000002|1          |82.67 |
|AE-2016-1308552|FUR-BO-10000002 |1          |101.54|
|AE-2016-1308553|TEC-bro-10000348|2          |79.28 |
|AE-2016-1308554|TEC-EPS-10000053|3          |101.23|
|AE-2016-1308555|OFF-AR-10000019 |4          |39.78 |

查询

SELECT COALESCE(products.category,'total'),COALESCE(products.sub_category,SUM(orders.sales) AS total_sales
FROM products
        INNER JOIN orders
        ON products.product_id=orders.product_id,(SELECT products.category,products.sub_category,SUM (orders.sales)
        FROM orders
        INNER JOIN products
        ON orders.product_id=products.product_id
        GROUP BY
            ROLLUP (1,2)) t
        GROUP BY 1,2
        ORDER BY 3 desc;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?