跳转到主要内容

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

这是您第一次登陆到 developerWorks,已经自动为您创建了您的概要文件。 选择您概要文件中可以公开的信息的信息(如姓名、国家/地区,以及公司),这些信息同时也会与您所发布的内容相关联。 您可以随时更新您的 IBM 账号。

所有提交的信息确保安全。

  • 关闭 [x]

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

所有提交的信息确保安全。

  • 关闭 [x]

DB2 SQL 与 XQuery 教程,第 4 部分: 数据分析

使用高级查询分析数据

Pat Moffatt (pmoffatt@ca.ibm.com), 信息管理程序经理, IBM Academic Initiative, IBM
Pat Moffatt 是 IBM Academic Initiative 的信息管理程序经理。在 Academic Initiative 计划中,她负责确保提供适当的信息管理资源并帮助教员将信息管理软件整合到他们的课程当中。
Bruce Creighton (bcreight@ca.ibm.com), 技能划分规划师, IBM
Bruce Creighton 是 Information Management Education Planning and Development 部门的一名技能划分规划师技能划分规划师。在这个职位上,他负责规划在教育内容中的投资,平衡 IBM 可以获得回报的领域与出于技能发展的考虑而提供免费教育的领域。
Jessica Cao, 培训工具开发人员, IBM
Jessica Cao 是 McMaster 大学文理和计算机科学专业的学生。她将于 2009 年 4 月完成她的双学位学业。Jessica 目前在 IBM 多伦多实验室的 DB2 Information Management Skills Channel Planning and Enablement Program 工作,在那里发挥她在编程、编辑和写作方面的特长。

简介:  本教程描述如何编写需要进行基本数据分析的查询。很多查询都包含连续计算,或对一组已排序的行进行的计算,这些都是业务分析过程中常遇到的查询。通过使用在线分析处理(On-Line Analytical Processing,OLAP)函数,可以在查询结果中以标量值返回排名、行号和已有的列函数信息。本教程是 DB2® SQL 与 XQuery 教程 系列的第 4 部分。

查看本系列更多内容

发布日期:  2006 年 10 月 26 日
级别: 初级 PDF:  A4 或信纸 (691 KB | 21 页)获得 Adobe® Reader®

开始之前

关于本系列

本教程为您讲解 SQL 的一些基础和高级话题以及 XQuery 的基础知识,并展示如何使用 SQL 查询或 XQuery 语句将常被问起的业务问题表达为数据库查询。开发人员和数据库管理员可以使用本教程来提高他们的数据库查询技能。Academic Initiative 成员可以使用本教程系列作为他们数据库课程的一部分。

本文中的所有例子都是基于 Aroma,这是一个示例数据库,其中包含了在美国各地的商店中出售的咖啡和茶用品的销售数据。每个例子由以下三部分组成:

  • 以日常用语表达的一个业务问题
  • 以 SQL 或 XQuery 表达的一个或多个例子查询
  • 显示从数据库返回的结果的一个表

本指南是为了让读者学习 SQL 语言和 XQuery 而设计的。和学习任何其他技能一样,重要的是一边学习一边实践。本指南给出的表定义和数据为此提供了便利。

对于使用本指南作为学校课程一部分的学生而言,他们应该向老师学习连接到 Aroma 数据库的操作,并了解本指南的设置与您本地设置的不同之处。

本系列是针对于 DB2 Express-C 9 for UNIX®, Linux® and Windows® (曾用名 Viper)而编写的。

关于本教程

本教程描述如何编写需要进行某种数据分析的查询。很多查询包含连续计算,或对已排序的一组行执行的计算,这些都是在业务分析过程中常遇到的查询。例如:

  • 每月的累加总计是多少?
  • 按周计算的移动平均值是多少?
  • 月销售额之间的排名是怎样的?
  • 当前月的销售额占全年销售额的比例是多少?

DB2 9 中包含的标准 SQL OLAP 函数为回答这些类型的问题提供了有效的途径。通过使用在线分析处理(On-Line Analytical Processing,OLAP)函数,可以在查询结果中以标量值返回排名、行号和已有的列函数信息。OLAP 函数可以包括在一个 select 列表的表达式中或 select 语句的 ORDER BY 子句中。

本教程提供了一系列的例子,每个例子给出了业务查询和相关的语法。在运行这些查询之前,请阅读 SQL Reference Guide 中对 OLAP 函数的完整描述。

本教程还展示如何使用标量函数从 DATE 列计算和提取信息,例如星期几和月份。

本章中的很多查询都依赖于聚合的销售总额。由于 Sales 表存储每日销售总额,因此数据库设计应包括用于回答这些查询的聚合表。

连接到数据库

在使用 SQL 查询或处理数据之前,需要连接到一个数据库。CONNECT 语句将一个数据库连接与一个用户名相关联。

如果您使用本指南作为学校课程的一部分,那么可以向老师询问要连接到的数据库的名称。对于本系列,数据库名为 aromadb。

要连接到 aromadb 数据库,可以在 DB2 命令行处理器中输入以下命令:

		
		CONNECT TO aromadb USER userid USING password

注意用老师告诉您的用户 ID 和密码替换 "userid" 和 "password"。如果不需要用户 ID 和密码,那么只需使用以下命令:

		
		CONNECT TO aromadb

如果看到下面的消息,则说明您已经建立一个成功的连接:

Database Connection Information
Database server      = DB2/NT 9.0.0
SQL authorization ID = USERID
Local database alias = AROMADB

建立连接后,就可以开始使用数据库了。

1 页,共 14 | 后一页

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Information Management, XML
ArticleID=171241
TutorialTitle=DB2 SQL 与 XQuery 教程,第 4 部分: 数据分析
publish-date=10262006
author1-email=pmoffatt@ca.ibm.com
author1-email-cc=
author2-email=bcreight@ca.ibm.com
author2-email-cc=
author3-email=jcao@ca.ibm.com
author3-email-cc=