SQLite-返回包含所有行的列总数
我有以下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
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语句。