OLAP(Online Analytical Processing)在线分析处理。

主要用于复杂的数据分析和报表生成。与OLTP(Online Transaction Processing)处理实时交易和查询不同,OLAP处理的是对大规模数据集合进行多维度的分析,以便支持决策支持系统和数据挖掘等应用

假设我们有一个销售数据表,用于存储每天不同地区的产品销售情况:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
CREATE TABLE sales (
    sale_id INT PRIMARY KEY AUTO_INCREMENT,
    date DATE,
    region VARCHAR(50),
    product VARCHAR(50),
    quantity INT,
    revenue DECIMAL(10, 2)
);
 
INSERT INTO sales (date, region, product, quantity, revenue) VALUES
    ('2023-07-01', 'North', 'Product A', 100, 1000.00),
    ('2023-07-01', 'North', 'Product B', 50, 500.00),
    ('2023-07-01', 'South', 'Product A', 75, 750.00),
    ('2023-07-01', 'South', 'Product B', 30, 300.00),
    ('2023-07-02', 'North', 'Product A', 120, 1200.00),
    ('2023-07-02', 'North', 'Product B', 60, 600.00),
    ('2023-07-02', 'South', 'Product A', 90, 900.00),
    ('2023-07-02', 'South', 'Product B', 40, 400.00);

  

我们想使用OLAP查询来统计每天的销售总量和总收入,并按照地区和产品进行分组

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
-- 创建数据立方体(Data Cube)
CREATE TABLE sales_cube AS
SELECT
    date,
    region,
    product,
    SUM(quantity) AS total_quantity,
    SUM(revenue) AS total_revenue
FROM
    sales
GROUP BY
    date, region, product;
 
-- 查询数据立方体
SELECT * FROM sales_cube;

  结果

 

posted on   黑逍逍  阅读(95)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!



点击右上角即可分享
微信分享提示