数据计算包括简单计算与函数计算:
- 简单计算就是加、减、乘、除等简单算术计算
- 函数计算就是通过软件内置的函数进行计算,比如求和,求平均值、最大值、最小值等。
一、简单计算
以订购明细表为例,在表中有产品、单价、数量、订购金额,订购金额即为单价乘以数量得到的。假设没有订购金额字段,需要通过简单计算来新增订购金额字段。
1. 菜单操作法
- 单击【创建】选项卡,在【查询】组中单击【查询设计】按钮;
- 在弹出查询的【设计视图】和【现实表】中,选择“订购明细表”,单击添加按钮将表添加进查询的【设计视图】;
- 依次双击选择”订购明细“表所有字段,被选择的字段会在下面的查询设计网格中显示;
- 在第8个字段表中输入“订单金额:[单价(元)]*[数量]”,表示订单金额等于单价乘以数量;
- 单击【设计】选项卡中的【结果】组的【运行】按钮,运行结果如下所示:
2. SQL查询法
我们在刚才的Access数据库查询结果窗口中,单击Access数据库窗口右下方的SQL按钮,得到如下语句:
SELECT 订购明细.订单编号, 订购明细.订购日期, 订购明细.用户ID, 订购明细.产品, 订购明细.[单价(元)], 订购明细.数量, 订购明细.订购金额, [单价(元)]*[数量] AS 订单金额
FROM 订购明细;
简化过后得到如下语句:
SELECT 订单编号, 订购日期, 用户ID, 产品, [单价(元)], 数量, 订购金额, [单价(元)]*[数量] AS 订单金额
FROM 订购明细;
可以看出,在SQL语句中进行简单计算的方式,就是直接写出运算表达式,然后对新增的字段采用AS命令命名即可。
同样的只需要单击【设计】选项卡中的【运行】按钮即可,Access数据库直接就可按照编写好的SQL 语句执行相应的查询操作。
二、函数计算
现在, 我们要了解截止到2011年年底的用户注册天数的分布,以了解现有存了用户的构成情况,为后续用户细分做准备。数据库中现有的“用户明细”表只有注册日期,我们需要通过相应的日期函数计算得到用户注册的天数。
可以使用DATEDIFF函数,与Excel中的DATEDIF函数一致,但用法略有不同,DATEDIFF将日期间隔参数移至表达式前部,其语法如下:
DATEDIFF("参数",起始日期,结束日期)
再次提醒,在函数参数或条件查询中,若参数或查询条件为日期和时间类型,需要在数据值两段加上符号“#”,以表示数据类型为日期型。
新建一个查询设计,点击右下角的SQL语句,输入如下SQL语句:
SELECT 用户ID,注册日期,DATEDIFF("D",注册日期,#2011-12-31#) AS 注册天数
FROM 用户明细;
字段可根据实际需求选择,尽量减少不必要的字段,字段越少越好,可大大提升系统运行效率
运行SQL语句后得到如下结果:
其他的常用函数如下图所示,可根据需要选择适用: