Access SQL:计算两行之间的百分比变化

时间:2018-08-29 22:39:30

标签: sql ms-access

我正在尝试计算Access中两个日期之间的百分比变化。 用户输入开始日期,结束日期和所需的百分比变化。如果结果符合条件,则应返回名称。 请注意,这是dd / mm / yy格式。

这是我的桌子:

Name   | Payment | DateTime
John   | 53.00   | 06/01/18
Mike   | 23.16   | 12/07/18
Steve  | 31.28   | 21/03/18
John   | 58.30   | 22/04/18

例如,如果用户输入开始日期为01/01/18,结束日期为23/04/18,并且希望的百分比变化为10%,则应返回名称John。

当前,这是我的查询:

SELECT Name

FROM UserPayments

WHERE DateTime >= '01/01/18' AND DateTime <= '23/04/18';

我想计算两个条目的总百分比变化。这应该是紧接第一个日期之后的记录日期和紧接第二个日期之前的日期。

我完全对如何在Access(SQL)中执行此操作感到困惑。 我想我需要使用联接,但是我以前没有做过。

1 个答案:

答案 0 :(得分:0)

应该有一个Users表,其主键类似于UserID,并且UserID应该在UserPayments表中使用,而不是{{1 }}。

尽管最好使用NameFirst之类的功能,但MS Access不允许使用LastORDER BY定义的组中的详细信息进行排序。因此,您将必须使用子查询来检索两个值以进行百分比计算。如果您有一个如上所述的GROUP BY表,并且Users的值可以假定为每个 User 唯一,则如下所示:

DateTime

请注意舍入错误,并将结果格式化为百分比。