SQL:按日期组和总和

发布于 2025-01-19 23:40:14 字数 1179 浏览 0 评论 0原文

我在数据库中有下表:

date                 account_id  currency     balanceUSD
01-01-2022 17:17:25  1           USD          1000
01-01-2022 17:17:25  1           EUR          1200
01-01-2022 23:14:34  1           USD          1050
01-01-2022 23:14:34  1           EUR          1350
01-02-2022 15:14:42  1           USD          1040
01-02-2022 15:14:42  1           EUR          1460
01-02-2022 20:17:45  1           USD          1030
01-02-2022 20:17:45  1           EUR          1550
01-01-2022 17:17:25  2           USD          3000
01-01-2022 17:17:25  2           EUR          2300
01-01-2022 23:14:34  2           USD          3200
01-01-2022 23:14:34  2           EUR          1450
01-02-2022 15:14:42  2           USD          3350
01-02-2022 15:14:42  2           EUR          1850
01-02-2022 20:17:45  2           USD          3400
01-02-2022 20:17:45  2           EUR          1900

我想做的是按(年,月,日)和account_id组组,然后总和balanceusd。即

date         account_id     balanceUSD
01-01-2022   1              4600
01-02-2022   1              5080
01-01-2022   2              9950
01-02-2022   2              10500

如何做到这一点?

I have the following table in the database:

date                 account_id  currency     balanceUSD
01-01-2022 17:17:25  1           USD          1000
01-01-2022 17:17:25  1           EUR          1200
01-01-2022 23:14:34  1           USD          1050
01-01-2022 23:14:34  1           EUR          1350
01-02-2022 15:14:42  1           USD          1040
01-02-2022 15:14:42  1           EUR          1460
01-02-2022 20:17:45  1           USD          1030
01-02-2022 20:17:45  1           EUR          1550
01-01-2022 17:17:25  2           USD          3000
01-01-2022 17:17:25  2           EUR          2300
01-01-2022 23:14:34  2           USD          3200
01-01-2022 23:14:34  2           EUR          1450
01-02-2022 15:14:42  2           USD          3350
01-02-2022 15:14:42  2           EUR          1850
01-02-2022 20:17:45  2           USD          3400
01-02-2022 20:17:45  2           EUR          1900

What I want to do is group by (year, month, day) and account_id and sum the balanceUSD. i.e.

date         account_id     balanceUSD
01-01-2022   1              4600
01-02-2022   1              5080
01-01-2022   2              9950
01-02-2022   2              10500

How can this be done?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

流年里的时光 2025-01-26 23:40:14

我们可以使用函数date_trunc('day',rental_date)从时间戳中提取日期。

SELECT 
  date_trunc('day', date) as "date",
  account_id,
  sum(balanceUSD) as "balanceUSD"
FROM 
  account_id,
  table_name
GROUP BY 
  account_id
  date_trunc('day', date) 
ORDER BY 
  account_id,
  date_trunc('day', date) ;

We can use the function date_trunc('day', rental_date) to extract the date from the timestamp.

SELECT 
  date_trunc('day', date) as "date",
  account_id,
  sum(balanceUSD) as "balanceUSD"
FROM 
  account_id,
  table_name
GROUP BY 
  account_id
  date_trunc('day', date) 
ORDER BY 
  account_id,
  date_trunc('day', date) ;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文