基本语法 SELECT 姓名,性别,年龄,身高,婚姻状况,教育背景,月收入,是否有房,是否有车,备注 FROM 会员表 WHERE 性别=‘男‘ AND 年龄 BETWEEN(26,30) AND 身高 BETWEEN(170,180) AND 婚姻状况 = ‘未婚‘ AND 教育背景 IN(‘本科‘,‘研究生‘?) AND 月收入 >= 8000 AND 是否有房=‘是‘ AND 是否有车=‘是‘ AND 备注 IN (‘细心‘,‘大方‘,‘浪漫‘) ORDER BY 月收入 DESC;???????????
1.1.3 两招导入数据
直接导入法
建立链接法
1.1.4 数据合并
横向合并
内连接
左连接
右连接
纵向合并
(1)菜单操作法
(2)UNION ALL-使用SQL语句
1.1.5 快速实现数据计算
简单计算
简单计算就是加减乘除等简单算术计算
函数计算
DATEDIFF函数:通过日期函数计算得到用户注册的天数
Year()
Month()
Abs()
Int()
Round()
Len()
1.1.6 数据分组
数值分组
(1)IIF函数法 SELECT 用户ID,年龄, IIF(年龄<=20,"20岁及其以下", IIF(年龄<=30,"30岁及其以下", IIF(年龄<=40,"31-40岁", "40岁以上"))) AS 年龄分组 FROM 用户明细;
(2)CHOOSE函数法 SELECT 用户ID,年龄, CHOOSE((年龄-1)/10+1,"10岁及其以下","11-20岁","21-30岁","31-40岁","40岁以上") AS 年龄分组 FROM 用户明细;
(3)SWITCH函数法 SELECT 用户ID,年龄 SWITCH(年龄<=20,"20岁及其以下", 年龄<=30,"21-30岁", 年龄<=40,"31-40岁", 年龄>40,"40岁以上") AS 年龄分组 FROM 用户明细;
(4)PARTITION函数法 SELECT 用户ID,年龄, PARTITION(年龄,1,100,20) AS 年龄分组 FROM 用户明细;?
日期时间分组 FORMAT (日期/时间, 日期/时间格式参数)
1.1.7 重复数据处理
重复项查询 (1)菜单操作法 Access数据库-查询-查询向导-查找重复项查询向导 ? (2)SQL查询法 ???SELECT First(订购明细.[用户ID]) AS [用户ID 字段], Count(订购明细.[用户ID]) AS NumberOfDups FROM 订购明细 GROUP BY 订购明细.[用户ID] HAVING (((Count(订购明细.[用户ID]))>1));
不重复项查询 (1)Having Count(用户ID)=1 ?SELECT First(订购明细.[用户ID]) AS [用户ID 字段], Count(订购明细.[用户ID]) AS NumberOfDups FROM 订购明细 GROUP BY 订购明细.[用户ID] HAVING (((Count(订购明细.[用户ID]))=1));?
数据去重查询 (1)GROUP BY子句 SELECT 用户ID FROM 订购明细 GROUP BY用户ID; ???? (2)DISTINCT? SELECT DISTINCT 用户ID FROM 订购明细;?
1.1.8 数据分析一步到位
简单统计
重复数据处理时东东啊一个计数函数Count SELECT Count(订单编号) AS 订单总数, Sum(订购金额) AS 订购金额总和, Avg(订购金额) AS 平均订单金额 FROM 订购明细; ?
分组统计 (1)SELECT 产品, Count(订单编号) AS 订单总数, Sum(订购金额) AS 订购金额总和, Avg(订购金额) AS 平均订单金额 FROM 订购明细 GROUP BY 产品;
(2)用户订购时段分布信息 SELECT FORMAT(订购日期,"h")AS 时段, Count(订单编号) AS 订单数 FROM 订购明细 GROUP BY FORMAT(订购日期,"h");
????(3)分组去重关联嵌套查询 我们需要了解不同年龄段的用户订购分布情况,原有“订购明细”表中没有用户年龄信息,并且订购用户存在重复情况,需要去重。 SELECT 年龄分组,Count(用户ID) AS 用户数 FROM (SELECT DISTINCT A.用户ID, PARTITION(B.年龄,1,100,5) AS 年龄分组 FROM 订购明细 A, 用户明细 B WHERE A.用户ID = B.用户ID) GROUP BY 年龄分组;
(4)了解各省的订单数分布: SELECT B.省份, Count(A.订单编号) AS 订单数 FROM 订购明细 A,用户明细 B WHERE A.用户ID = B.用户ID GROUP BY B.省份;??
(2)SQL交叉表查询 SQL交叉表语句: TRANSFORM Count(用户明细.[用户ID]) AS 用户ID之计数 SELECT 用户明细.[省份], Count(用户明细.[用户ID]) AS [总计 用户ID] FROM 用户明细 GROUP BY 用户明细.[省份] PIVOT 用户明细.[性别]; --只要在分组统计SQL语句基础上,前后增加TRANSFORM与PIVOT语句,并且在TRANSFORM后面增加每个行和列的交叉点统计函数及字段,在PIVOT后面增加要作为列标题的分组字段即可。
1.2 Microsoft Query 使用Microsoft Query工具进行数据处理与分析,需要以下四步: 1.建立数据源以连接数据 2.使用“查询向导"选择所需要的数据 3.在查询操作界面进行相应的SQL查询操作 4.将数据结果返回到EXCEL中???