繁体   English   中英

SQL-获取每月名称和每月的SUM()

[英]SQL - Get Month Name and SUM() of every month

我要在表上执行以下任务:

  • 显示月份名称 ,每月的订单数量和订单总价值

我有我的当前表的图示

很抱歉,它是外语,但我会翻译。

  • Pedido代表Order
  • 客户产品和客户产品
  • Order_Item的Item_Pedido

我试过加入表格,然后尝试按名称获取月份,但不幸的是失败了,感谢您的帮助!

我假设我必须从订单日期开始对GROUP BY SELECT结果进行分组?

这是Oracle SQL

尝试查询

SELECT Clientte.nm_cliente, Item_pedido.nr_quantidade "Quantidade", Pedido.dt_venda 
FROM Clientte INNER JOIN Pedido
ON Clientte.id_cliente = Pedido.id_cliente
INNER JOIN Item_pedido
ON Pedido.id_pedido = item_pedido.id_pedido
INNER JOIN Produto
ON item_pedido.id_produto= Produto.id_Produto;

我想您可能想要这样的东西。

SELECT to_char(Pedido.dt_venda, 'Month') as mon, 
    Clientte.nm_cliente, 
    count(distinct id_pedido) as num_orders,
    sum(Item_pedido.nr_quantidade * produto.nr_preco) total_value 
FROM Clientte 
INNER JOIN Pedido
  ON Clientte.id_cliente = Pedido.id_cliente
INNER JOIN Item_pedido
  ON Pedido.id_pedido = item_pedido.id_pedido
INNER JOIN Produto
  ON item_pedido.id_produto= Produto.id_Produto
GROUP BY to_char(Pedido.dt_venda, 'Month');

两个假设-您说要“定单数量”,所以我假设您指的是该月唯一ID_PEDIDO的数量。 您可能需要的是sum(nr_quantidade) ,订购的物品总数,我不确定。

其次,您需要“订单总价值”,我假设这意味着每个订单中所有商品的总商品数量*价格。

SELECT Count(*), ID_PEDIDO, EXTRACT(month FROM date) FROM Pedido 
GROUP BY ID_PEDIDO, EXTRACT(month FROM date)

你能看得到这距离吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM