Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 子查询中的SQL SUM()_Mysql_Sql - Fatal编程技术网

Mysql 子查询中的SQL SUM()

Mysql 子查询中的SQL SUM(),mysql,sql,Mysql,Sql,我有一个具有此模式的分类账表: LedgerId (int,not null) Timestamp (datetime, not null) CostCenter (int, not null) Payee (varchar(50), not null) Type (varchar(3),not null) Category (varchar(24), not null) Amount (decimal(8,2) not null) Tag

我有一个具有此模式的分类账表:

LedgerId    (int,not null)
Timestamp   (datetime, not null)
CostCenter  (int, not null)
Payee       (varchar(50), not null)
Type        (varchar(3),not null)
Category    (varchar(24), not null)
Amount      (decimal(8,2) not null)
Tag         (varchar(30),null)
Memo        (varchar(150), null)
在这里,我为一家小企业记录费用交易

年底时,我必须向国税局发出1099表格,以供收到超过600美元的承包商使用。感谢StackExchange,我运行了以下查询!要获得此信息:

SELECT Payee as Name, SUM(Amount)as Total FROM Ledger 
where (convert(date,timestamp) < convert(date,'2019-01-01')) 
and (convert(date,timestamp) > convert(date,'2017-12-31')) 
and category like '%Contract%' 
group by Payee having SUM(amount) > 600 
order by Payee
这很好,给了我一份2018年每个承包商和总金额的清单

我现在想要的是一个查询,它将给出我在2018年为这些承包商以及IRS花费的总金额,表格1096。
如果我将此查询用作子查询以获取此总额,则会出现错误。我如何计算所有承包商费用的总和?

你是说这不起作用吗

select sum(total)
from (select Payee as Name, SUM(Amount) as Total 
      from Ledger 
      where timestamp < '2019-01-01' and
            timestamp >= '2018-01-01' and
            category like '%Contract%' 
      group by Payee
      having sum(amount) > 600 
     ) l;

您不需要对要实现的逻辑进行日期转换。

您的版本工作得非常好。我确实试过了,除了尾随的l;,并且有语法错误。我承认我不知道这是什么。在谷歌搜索了一下之后,我发现这是一个别名,它显然允许查询工作。我还需要做更多的研究来了解它是如何工作的。谢谢@用户3235770。MySQL要求from子句中的所有派生表子查询都有一个表别名。