【问题标题】:SQLite: Get Total/Sum of ColumnSQLite:获取列的总数/总和
【发布时间】:2012-09-05 22:44:38
【问题描述】:

我正在使用 SQLite,并试图在 TOTAL 列中返回一列 buy_price 的总数,同时返回所有数据。我不想/不需要对数据进行分组,因为我需要在每个返回的行中都有数据。

id    date       pool_name    pool_id    buy_price  TOTAL
 1    09/01/12   azp          5          20
 2    09/02/12   mmp          6          10
 3    09/03/12   pbp          4          5
 4    09/04/12   azp          7          20
 5    09/05/12   nyp          8          5             60

当我包含SUM(buy_price) as TOTAL 之类的内容时,它只返回一行。我需要返回所有行以及所有 buy_price 条目的总数。

【问题讨论】:

标签: sql sqlite


【解决方案1】:

听起来这就是你要找的东西:

select id,
  dt,
  pool_name,
  pool_id,
  buy_price,
  (select sum(buy_price) from yourtable) total
from yourtable

SQL Fiddle with Demo

【讨论】:

  • 谢谢。这很接近,但由于某种原因,它返回的总和是两倍,即 120 而不是 60。此外,它列在每一行中,并不是说它有什么大不了的。我认为有一种方法可以使用 COALESCE 让它只返回一次(我不是 SQL 专家,所以我很可能是错的)谢谢!!!
  • @user1650361 你能用一些额外的示例数据创建一个 sqlfiddle 吗?根据您提供的有限数据,它似乎正在发挥作用。
  • 这行得通。我的 SQL 语句的问题导致了错误的数据。谢谢!
【解决方案2】:
Select * from yourtable
union
select 'Total',
  ' ',
  ' ',
  ' ',
  sum(buy_price)
from yourtable

您可以像这样在底部添加一行,而不是添加新列...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多