【问题标题】:Realizar soma no SQL [closed]Realizar soma no SQL [关闭]
【发布时间】:2018-02-17 00:28:34
【问题描述】:

Tenho uma tabela de status dos pedidos, eu gostaria de somar o valor dos pedidos que somente tem o status pendente。 Uns tem pendente e aprovado, eu gostaria de somar somente os que tem status pendente。 Anexei uma imagem de exemplo, mas a minha tabela no banco tem muito mais registros que isso。

O que eu quero é o seguinte: somar somente pedidos que tem status "pendente"。 Se o pedido já teve pendente e agora tem "aprovado" não é para somar o "pendente" deles (https://i.stack.imgur.com/04j4X.png)

【问题讨论】:

  • 你能翻译成英文吗?
  • 欢迎来到 Stack Overflow。您能否将此答案翻译成英文,这是本网站的官方语言。否则,这可能有用的答案可能会被删除。非常感谢你。问这个问题的正确网站是 pt.stackoverflow.com 用非英语写的问题应该关闭,因为不清楚你在问什么。请参阅 meta.stackoverflow.com/a/297680/2275490
  • 请不要为 OP 翻译帖子(12)。仅仅这样做并不能确保 OP 能够受益。查看元讨论的链接。

标签: mysql sql sum


【解决方案1】:

这样的?

SELECT SUM(Valor) FROM yourtablename WHERE Status = 'Pendente'

编辑:

抱歉,我没有正确看到您的示例。

-- Option 1:
SELECT SUM(Valor)
    FROM yourtablename
    WHERE Status = 'Pendente'
    AND idPedido IN (
        SELECT idPedido
            FROM yourtablename
            GROUP BY idPedido
            HAVING COUNT(1) = 1
        );

-- Option 2:
SELECT SUM(Valor)
    FROM yourtablename
    WHERE Status = 'Pendente'
    AND idPedido NOT IN (
        SELECT idPedido
            FROM yourtablename
            WHERE Status <> 'Pendente'
        )

【讨论】:

  • @AndréCoelho:欢迎来到 Stack Overflow。您能否将您的回答和评论翻译成英文,这是本网站的官方语言。非常感谢你。用葡萄牙语问这个问题的正确网站是 pt.stackoverflow.com
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-01-06
  • 1970-01-01
  • 2021-08-15
  • 2015-10-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多