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; |
结果
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!