如何向每个用户显示最后两个付款日期和坐骑的总和?

发布于 2025-02-09 22:58:22 字数 270 浏览 2 评论 0 原文

我有2张表,我从表1中提取了每用户的最后2个税收日期,这些日期在19/06/2022上次征税,以及表2中的产品ID 12,以及的总和金额税收以及图像波纹图中提到的两个最后两个税日之间的时间范围。 “在此处输入图像说明”

i have 2 tables where from i'm trying to extract from table 1 the last 2 taxe dates per user who were taxed for the last time on the 19/06/2022 and with product id 12 in table 2, and the sum amount of taxes, as well as the time range between the two last taxe dates as mentionned in the image bellow .enter image description here

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

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

发布评论

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

评论(1

在梵高的星空下 2025-02-16 22:58:22

第一步是添加等级() row_number()以向后订购付款, id ,因此您只查看2个最后付款。喜欢 this

下一步是汇总这些步骤以获取最小日期和最大日期以及金额之和。喜欢 this this this> this> this

最后,您计算最小日期和最大日期之间的差异。喜欢 this this this this>

WITH LAST_TWO AS (
  SELECT *,ROW_NUMBER() OVER(PARTITION BY id ORDER BY tax_date DESC) AS time_ago
  FROM table1
  QUALIFY time_ago <= 2
),
AGG AS (
  SELECT
    id,
    MIN(tax_date) as tax_date_MIN,
    MAX(tax_date) as tax_date_MAX,
    SUM(amount) as amount_SUM
  FROM LAST_TWO
  GROUP BY id
)
SELECT id, amount_SUM, DATEDIFF(day, tax_date_MIN, tax_date_MAX) as DATE_RANGE
FROM AGG
INNER JOIN table2 ON AGG.id = table2.id
WHERE table2.product_id = 12;

First step is to add a RANK() or ROW_NUMBER() to order the payments backwards, by id so you're only looking at the 2 last payments. Like this.

The next step is to aggregate those to get min and max dates, and sum of amount. Like this.

Lastly, you calculate the difference between min and max dates. Like this.

WITH LAST_TWO AS (
  SELECT *,ROW_NUMBER() OVER(PARTITION BY id ORDER BY tax_date DESC) AS time_ago
  FROM table1
  QUALIFY time_ago <= 2
),
AGG AS (
  SELECT
    id,
    MIN(tax_date) as tax_date_MIN,
    MAX(tax_date) as tax_date_MAX,
    SUM(amount) as amount_SUM
  FROM LAST_TWO
  GROUP BY id
)
SELECT id, amount_SUM, DATEDIFF(day, tax_date_MIN, tax_date_MAX) as DATE_RANGE
FROM AGG
INNER JOIN table2 ON AGG.id = table2.id
WHERE table2.product_id = 12;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文