复杂SQL查询和可视化报表构建

本文涉及的产品
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介: 场景介绍AnalyticDB MySQL数据开发流程。

场景介绍AnalyticDB MySQL数据开发流程。
更多AnalyticDB MySQL相关至阿里云体验实验室

简介

目标是让云上数据仓库用户及开发者通过简单的步骤体验基于AnalyticDB MySQL版和DMS构建云原生数据仓库的主要流程,活动将通过实例的开通、结构与数据的初始化、报表的开发、报表可视化等环节,用3个具体的应用场景来体验AnalyticDB MySQL版在新零售场景下的交互查询和ETL计算速度,以及通过DMS进行数据仓库数据报表开发的流程。

场景中提供的数据集是一个零售场景的模拟数据,包括客户信息、订单记录、货物信息、国家地域信息等内容,数据总量10GB,最大数据表记录数为5999万条。

产品简介

云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:2003 语法标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。查看产品详情。

数据管理DMS是基于阿里巴巴集团十余年的数据库服务平台的云版本,提供免安装、免运维、即开即用、多种数据库类型与多种环境统一的web数据库管理终端;可以为企业用户快速复制搭建与阿里集团同等安全、高效、规范的数据库DevOps研发流程、数仓开发解决方案。查看产品详情。

场景化数据查询分析

场景化数据查询分析

地址:https://dms.aliyun.com/
路径:全部功能-SQLConsole-单库查询
场景化SQL脚本如下:

#### 1)统计半年内全球各地区销售金额构成。0.5秒, 用饼状图图展示。
select
    r_name   //地区
  ,sum(o_totalprice) totalprice     //交易金额
from
  (
    select
      r_name,
      o_totalprice
    from
      customer
      ,orders
      ,nation
      ,region
    where
      c_custkey = o_custkey
      and c_nationkey=n_nationkey
      and n_regionkey=r_regionkey
    and o_orderdate < date '1993-09-23'  // 谓词过滤:指定时间
    and o_orderdate > date '1993-03-23'
  ) a
  group by  r_name
  order by r_name ;
  
  
 #### 2)统计某类目商品每天订单量以及订单金额,按照日期排序。 1秒。用折现图展示
select  
    o_orderdate,   //下单日期
    count(distinct o_orderkey), //订单数
    sum(l_extendedprice*(1-l_discount)) as revenue  //订单金额 
from  
    customer,orders,lineitem 
where  
    c_mktsegment = 'MACHINERY'     // 谓词过滤
    and c_custkey = o_custkey  
    and l_orderkey = o_orderkey  
    and o_orderdate < date '1995-03-23'
    and o_orderdate > date '1995-02-23' // 谓词过滤 指定时间
    and l_shipdate > date '1995-03-23'  
    and l_shipdate < date '1996-03-23'
group by //分组操作   
    o_orderdate //订单日期   
order by 
    o_orderdate;
    
    
#### 3)统计某个地区零件供货商收入。1秒,用柱状图展示。
select
        n_name,   //地区
        sum(l_extendedprice * (1 - l_discount)) as revenue  //收入 
from
        customer,
        orders,
        lineitem,
        supplier,
        nation,
        region   //六表连接  
where
        c_custkey = o_custkey
        and l_orderkey = o_orderkey
        and l_suppkey = s_suppkey
        and c_nationkey = s_nationkey
        and s_nationkey = n_nationkey
        and n_regionkey = r_regionkey
        and r_name = 'EUROPE'  // 谓词过滤:指定地区
        and o_orderdate >= date '1996-01-01'  //谓词过滤:指定时间
        and o_orderdate < date '1996-01-01' + interval '1' year
        and l_shipdate > date '1996-02-23'  
          and l_shipdate < date '1996-03-23'
group by
        n_name
order by   // TopN:按收入降序排序,注意分组和排序子句不同  
        revenue desc
limit 10

数据开发

数据开发

将查询分析的数据存储到新的表中,后续对于相关数据的查询分析就可以用一个简单的SQL来完成

地址:https://dms.aliyun.com/?#to=data-analysis
路径:全部功能-数据工厂-任务编排,新建任务流实例,选择“单实例SQL”节点来创建任务。
任务配置好之后,点击试运行即可运行。
同时我们可以选择点击空白处进行周期调度运行的配置。
任务节点SQL脚本如下:

#### 1)统计半年内全球各地区销售金额构成。0.5秒, 用饼状图图展示。

create table sum_region_price as 
select
    r_name   //地区
  ,sum(o_totalprice) totalprice     //交易金额
from
  (
    select
      r_name,
      o_totalprice
    from
      customer
      ,orders
      ,nation
      ,region
    where
      c_custkey = o_custkey
      and c_nationkey=n_nationkey
      and n_regionkey=r_regionkey
    and o_orderdate < date '1993-09-23'  // 谓词过滤:指定时间
    and o_orderdate > date '1993-03-23'
  ) a
  group by  r_name
  order by r_name ;
  
  
 #### 2)统计某类目商品每天订单量以及订单金额,按照日期排序。 1秒。用折现图展示
 
 create table items_revenue as 
select  
    o_orderdate,   //下单日期
    count(distinct o_orderkey) as order_num, //订单数
    sum(l_extendedprice*(1-l_discount)) as revenue  //订单金额 
from  
    customer,orders,lineitem 
where  
    c_mktsegment = 'MACHINERY'     // 谓词过滤
    and c_custkey = o_custkey  
    and l_orderkey = o_orderkey  
    and o_orderdate < date '1995-03-23'
    and o_orderdate > date '1995-02-23' // 谓词过滤 指定时间
    and l_shipdate > date '1995-03-23'  
    and l_shipdate < date '1996-03-23'
group by 
    o_orderdate 
order by 
    o_orderdate;
    
    
#### 3)统计某个地区零件供货商收入。1秒,用柱状图展示。

create table region_seller_cash as 
select
        n_name,   //地区
        sum(l_extendedprice * (1 - l_discount)) as revenue  //收入 
from
        customer,
        orders,
        lineitem,
        supplier,
        nation,
        region   //六表连接  
where
        c_custkey = o_custkey
        and l_orderkey = o_orderkey
        and l_suppkey = s_suppkey
        and c_nationkey = s_nationkey
        and s_nationkey = n_nationkey
        and n_regionkey = r_regionkey
        and r_name = 'EUROPE'  // 谓词过滤:指定地区
        and o_orderdate >= date '1996-01-01'  //谓词过滤:指定时间
        and o_orderdate < date '1996-01-01' + interval '1' year
        and l_shipdate > date '1996-02-23'  
          and l_shipdate < date '1996-03-23'
group by
        n_name
order by   // TopN:按收入降序排序,注意分组和排序子句不同  
        revenue desc

在这里插入图片描述
在这里插入图片描述

数据可视化

数据可视化

将数据开发的报表进行可视化报表图形化呈现
数据可视化访问地址:https://dms.aliyun.com/?#to=data-visual
推荐步骤:

进入dms:https://dms.aliyun.com
通过SQLConsole将下列sql逐条执行查询后,点击 数据可视化 即可进入图表编辑界面。
SQL脚本如下:

#### 1)统计半年内全球各地区销售金额构成。0.5秒, 用饼状图图展示。


select * from sum_region_price;

  
 #### 2)统计某类目商品每天订单量以及订单金额,按照日期排序。 1秒。用折现图展示
 
 select * from items_revenue;
 
    
    
#### 3)统计某个地区零件供货商收入。1秒,用柱状图展示。

select * from  region_seller_cash;

在这里插入图片描述
在该界面点击右上角的“配置新看板”按钮,即可将该图表自动保存并加入到仪表盘中。
在这里插入图片描述
依次制作四个图表,放入新建中的仪表盘中即可得到下图效果。

在这里插入图片描述

相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
6天前
|
SQL Java 数据库连接
JDBC连接SQL Server2008 完成增加、删除、查询、修改等基本信息基本格式及示例代码
这篇文章提供了使用JDBC连接SQL Server 2008数据库进行增加、删除、查询和修改操作的基本步骤和示例代码。
|
6天前
|
SQL 存储 分布式计算
|
1天前
|
SQL 数据库
实时数仓 Hologres产品使用合集之如何找回之前的SQL查询代码
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
|
2天前
|
SQL 数据库 UED
SQL查询功能的全面解析与实用技巧
SQL(Structured Query Language)作为数据库管理的核心语言,其查询功能是实现数据检索、分析和报告的关键
|
2天前
|
SQL 数据库 数据库管理
SQL查询是否都需要解析:深入解析SQL执行流程与优化技巧
在数据库管理系统中,SQL(Structured Query Language)查询是用户与数据库交互的主要方式
|
2天前
|
SQL 移动开发 Oracle
SQL查询连续六天数据记录的技巧与方法
在数据库查询中,实现针对连续几天(如连续六天)的数据筛选是一个常见且稍具挑战性的任务
|
2天前
|
SQL 存储 安全
SQL视图实验:创建、查询与管理技巧
在数据库管理系统中,视图(View)是一个虚拟表,其内容由查询定义
|
5天前
|
SQL 存储 测试技术
SQL Server 查询超时问题排查
【8月更文挑战第14天】遇到SQL Server查询超时,先检查查询复杂度与索引使用;审视服务器CPU、内存及磁盘I/O负载;审查SQL Server配置与超时设置;检测锁和阻塞状况;最后审查应用代码与网络环境。每步定位问题根源,针对性优化以提升查询效率。务必先行备份并在测试环境验证改动。
|
6天前
|
SQL 存储 关系型数据库
SQL SERVER 查询所有表 统计每张表的大小
SQL SERVER 查询所有表 统计每张表的大小
17 0
|
8天前
|
SQL
SQL SERVER 查询表结构,导出到Excel 生成代码用
SQL SERVER 查询表结构,导出到Excel 生成代码用
16 0