Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.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
SQLite-返回包含所有行的列总数_Sql_Sqlite - Fatal编程技术网

SQLite-返回包含所有行的列总数

SQLite-返回包含所有行的列总数,sql,sqlite,Sql,Sqlite,我有以下SQLite表: transaction_amount transaction_date 50 09/06/2012 50 09/06/2012 75 09/07/2012 我希望得到交易金额列的总金额。如果我这样编写SQL查询: SELECT transaction_amount,transaction_date, SUM(transaction_amoun

我有以下SQLite表:

transaction_amount     transaction_date
50                     09/06/2012
50                     09/06/2012
75                     09/07/2012
我希望得到交易金额列的总金额。如果我这样编写SQL查询:

SELECT transaction_amount,transaction_date, SUM(transaction_amount) AS 
Total FROM prepaid_tbl WHERE playerID = 17 ORDER BY id DESC
SELECT transaction_amount,transaction_date,(SELECT SUM(transaction_amount) 
FROM prepaid_tbl WHERE playerID = 17)Total FROM prepaid_tbl WHERE 
playerID = 17 ORDER BY id DESC
我得到以下结果:

 transaction_amount     transaction_date  Total
 75                     09/07/2012        175
我需要所有三行连同总数一起返回。因此,如果我这样编写SQL语句:

SELECT transaction_amount,transaction_date, SUM(transaction_amount) AS 
Total FROM prepaid_tbl WHERE playerID = 17 ORDER BY id DESC
SELECT transaction_amount,transaction_date,(SELECT SUM(transaction_amount) 
FROM prepaid_tbl WHERE playerID = 17)Total FROM prepaid_tbl WHERE 
playerID = 17 ORDER BY id DESC
我现在得到了我想要的结果:

transaction_amount     transaction_date    Total
50                     09/06/2012          175
50                     09/06/2012          175
75                     09/07/2012          175
因此,我的简单问题是,这是获得预期结果的最佳方法/实践。我无论如何都不是SQL专家,所以我仍然不确定为什么第一个方法没有返回我想要的结果。任何见解都值得赞赏


提前谢谢。

您可以执行
笛卡尔连接
来解决您的问题

SELECT  a.transaction_amount,
        a.transaction_date,
        b.Total
FROM prepaid_tbl  a,
        (
            SELECT  SUM(transaction_amount) AS  Total 
            FROM prepaid_tbl 
            WHERE playerID = 17 
        ) b
WHERE a.playerID = 17 

谢谢你的回复。我刚刚尝试了您的SQL语句,它只返回每个合计字段中的行合计(即50,50,75)。我想返回总计字段中的总和(175)。是的,这是我的第一个答案。看到我更新的答案:我希望它现在能工作。谢谢!因此,简言之,如果我需要获取一列的总和,我将始终需要在查询中使用辅助SELECT语句。