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

问题描述

我们希望汇总中的小计显示在每个相应类别的开头/结尾。以下是我们尝试过的对下表的查询。但是,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.JdbcOdbc...