龙空技术网

每天一点数据分析——数据计算和数据分组

懂码杂记 402

前言:

眼前姐妹们对“datediff函数怎么用access”大约比较注重,看官们都想要知道一些“datediff函数怎么用access”的相关知识。那么小编同时在网上搜集了一些有关“datediff函数怎么用access””的相关资讯,希望朋友们能喜欢,朋友们一起来了解一下吧!

数据计算包括简单计算和函数计算。简单计算就是加减乘除等算术运算。而函数运算就是通过软件内置的函数进行计算,比如求和、求平均值、最大值、最小值等等。

简单计算

如果我们要实现一个“订单金额 = 单价 * 数量”的运算,在Access中可按照以下步骤进行:

1、在【查询设计】中将需要计算的表添加到视图中;

2、依次双击表中的所有字段,被选中的字段会在下面的查询设计网格中显示,之后再添加一个字段输入“订单金额:[单价(元)]*[数量]”。单击【运行】,即可得出结果。

上述操作如果写成SQL语句如下:

SELECT 订购明细.ID, 订购明细.订单编号, 订购明细.订购日期, 订购明细.用户ID, 订购明细.产品, 订购明细.[单价(元)], 订购明细.数量, 订购明细.订购金额, [单价(元)]*[数量] AS 订单金额 FROM 订购明细;

函数计算

1、DATEDIFF(“参数”,开始日期,结束日期)

DATEDIFF函数用于计算开始日期到结束日期相差的时间

DATEDIFF函数的参数

假如我们要计算用户订购日期到今天相差了多少时间,编写SQL语句如下:

SELECT 用户ID,订购日期,DATEDIFF("D",订购日期,#2017-03-29#) AS 订购天数 FROM 订购明细;

运行结果:

除此之外,还有其他的常用函数:

数据分组

数据分析的三大基本方法:对比、细分与预测,而数据分组就属于其中的细分方法。

进行数据分析时不仅要对总体的数量特征和数量关系进行分析,还要深入总体的内部进行分组分析。数据分组是一种重要的数据分析方法,这种分析方法根据数据分析对象的特征,按照一定的指标,如业务、用户属性、时间等维度,把数据分析对象划分为不同的部分和类型来进行研究,已揭示其内在的联系和规律性。常用的数据分组方式主要包括数值分组、日期/时间分组。

数值分组

IIF(表达式, 表达式成立时返回的值,表达式不成立时返回的值)

假如我们要对年龄进行分组,使用IIF函数编写SQL语句如下:

SELECT 用户ID,年龄,

IIF(年龄<=20, "20岁及其以下",

IIF(年龄<=30, "21-30岁",

IIF(年龄<=40, "31-40岁",

"40岁以上"))) AS 年龄分组

FROM 用户明细;

运行结果如下:

CHOOSE(参数,结果1,结果2,...,结果3)

choose函数中,参数可以是值或表达式,返回的其返回的值必须为1~254的数字,如果参数为小数,在使用时会被截尾取整。如果参数返回的值为1,则函数返回结果1;如果参数返回至为2,则函数返回结果2,以此类推。

依旧对年龄进行分组,使用CHOOSE函数编写SQL语句如下:

SELECT 用户ID,年龄,

CHOOSE((年龄-1)/10+1,"10岁及其以下","11-20岁","21-30岁","31-40岁","40岁以上") AS 年龄分组

FROM 用户明细;

运行结果和使用IIF函数式一样的:

SWITCH(条件1,结果1,条件2,结果2,...,条件N,结果N)

SWITCH函数中,如果条件1为真则,返回结果1;如果条件2为真,则返回结果2;以此类推。

上述年龄分组的例子,使用SWITCH函数编写SQL语句如下:

SELECT 用户ID,年龄,

SWITCH(年龄<=20,"20岁及其以下",

年龄<=30,"21-30岁",

年龄<=40,"31-40岁",

年龄>40,"40岁以上") AS 年龄分组

FROM 用户明细;

运行结果如下:

PARTITION(数值参数,开始值,结束值,组距)

PARTITION函数中,数值参数为要根据范围进行计算的整数;开始值必须为整数,并且不能小于0;结束值也必须为整数,且不能等于小于开始值;组距也必须为整数,它指定了整个数值范围内的分区大小。整个函数返回的内容为每组的“下限:上限”。

编写一个开始值为1、结束值为100,组距为20的SQL语句:

SELECT 用户ID,年龄,

PARTITION(年龄,1,100,20) AS 年龄分组

FROM 用户明细

运行结果如下:

日期/时间分组

在Access数据库中,除了可以采用YEAR、MONTH、DAY等常用日期函数进行日期分组外,还可以使用FORMAT函数进行日期/时间分组。FOTMAT函数的语法如下:

FORMAT(日期/时间,日期/时间格式参数)

FOTMAT函数中日期/时间相关的格式参数如下:

编写一个对用户订购日期依次按年、季、月、日、星期、小时、分、秒等8个日期/时间单位进行格式化分组的SQL语句:

SELECT 订单编号,订购日期,

FORMAT(订购日期,"yyyy") AS 年,

FORMAT(订购日期,"q") AS 季,

FORMAT(订购日期,"m") AS 月,

FORMAT(订购日期,"d") AS 日,

FORMAT(订购日期,"dddd") AS 星期,

FORMAT(订购日期,"h") AS 小时,

FORMAT(订购日期,"m") AS 分,

FORMAT(订购日期,"s") AS 秒

FROM 订购明细;

运行结果如下:

标签: #datediff函数怎么用access