CN104504132A - 一种数据分析查询中自定义排序实现方法 - Google Patents
一种数据分析查询中自定义排序实现方法 Download PDFInfo
- Publication number
- CN104504132A CN104504132A CN201410855012.2A CN201410855012A CN104504132A CN 104504132 A CN104504132 A CN 104504132A CN 201410855012 A CN201410855012 A CN 201410855012A CN 104504132 A CN104504132 A CN 104504132A
- Authority
- CN
- China
- Prior art keywords
- item
- self
- defined sequence
- data analysis
- query
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种在数据查询分析统计中用户自定义排序的实现方法,包括:查询结构描述,自定义排序描述及实现。在传统的数据分析和查询中,经常会对查询的数据进行排序,而仅仅提供数据库默认的升序和降序排列,在一些数据查询分析统计中往往是不够的。本发明的有益效果是:能够在数据库提供的默认的排序的基础上,允许按照用户指定的顺序对数据进行排序,操作方便。
Description
技术领域
本发明属于商业智能领域,尤其是涉及一种数据分析查询中自定义排序实现方法。
背景技术
有顺序的数据才更能符合人们在分析统计展示中的需要。在大部分数据分析中,我们通常会对数据按照指定的列进行升序和降序排列。但是,在某些业务场景下,还需要将数据按照指定的顺序排列。
比如在人力资源数据分析中,人们常常按照员工的部门、职级来统计总工资情况,并对返回的数据进行指定的排序。如:按照总工资降序,或者按照职级由高到低的指定顺序等,以便使数据更符合统计分析或者阅读等的需要。现有技术在自定义排序的实现上还存在一些不便。
发明内容
本发明要解决的问题是实现用户自定义排序的处理方法,特别适合在数据分析中,按照中文字段的指定顺序对数据进行排序。
为解决上述技术问题,本发明采用的技术方案是:一种数据分析查询中自定义排序实现方法,包括以下步骤:
第一步:对查询结构进行语法解析,解析出各个项;
第二步:判断第一步查询中是否含有自定义排序;
第三步:如果第二步不包含自定义排序,则将解析出的各个项转换成对应的sql;
如果第二步包含自定义排序,则将自定义排序字段构造成casewhen的排序表达式。
进一步,所述查询包括对数据的选取、筛选、计算或者排序四种操作。
进一步,所述查询结构包含:查询项、过滤项、分组项、分组过滤项、排序项、分页项;
所述查询项用selections表示;过滤项用filters表示;分组项用groups表示;分组过滤项用havings表示;排序项用orders表示;分页项用limit表示;
其中selections包含选取的列,选取的列为字段或者为基于列运算的函数;
Filters中包含多个过滤项,各个过滤项之间使用and或者or连接;
groups中包含多个分组的字段,能够对选取的数据按照指定的字段分成不同的组,使每个分组能够用统计函数求已知统计数值;
havings中包含多个分组过滤项,各个过滤项之间用and或者or连接;
orders中包含多个排序字段,多个排序字段之间用逗号分割;所述每个排序字段按照升序(asc)、降序(desc)或者自定义排序(manual)方式排序;
limit包含有两个整数类型的参数,表示的是从哪个起始位置开始取多少条数据;其中第一个参数为起始位置,第二个参数为取得的条数。
本发明具有的优点和积极效果是:由于采用上述技术方案,能够在数据库提供的默认的排序的基础上,允许按照用户指定的顺序对数据进行排序,操作方便。
附图说明
图1是本发明的流程图。
具体实施方式
如图1所示,本发明提供了一种数据分析查询中自定义排序实现方法,包括以下步骤:
第一步:对查询结构进行语法解析,解析出各个项;
第二步:判断第一步查询中是否含有自定义排序;
第三步:如果第二步不包含自定义排序,则将解析出的各个项转换成对应的sql;
如果第二步包含自定义排序,则按照以下方式处理:将自定义排序字段构造成casewhen的排序表达式。
比如:求工资大于2000并且年龄小于40的各个职级的工资总和,将结果按照职级的给定的顺序:总经理级、总监级、经理级、主管级、专员级、员工级排列,排序之后去前100条数据的实现方法为:
query([职级,sum(工资)as职级工资汇总],[工资>2000and年龄<40],[职级],[],[职级manual[总经理级,总监级,经理级,主管级,专员级,员工级]],[0,100])。
以上对本发明的一个实施例进行了详细说明,但所述内容仅为本发明的较佳实施例,不能被认为用于限定本发明的实施范围。凡依本发明申请范围所作的均等变化与改进等,均应仍归属于本发明的专利涵盖范围之内。
Claims (3)
1.一种数据分析查询中自定义排序实现方法,其特征在于:包括以下步骤:
第一步:对查询结构进行语法解析,解析出各个项;
第二步:判断第一步查询中是否含有自定义排序;
第三步:如果第二步不包含自定义排序,则将解析出的各个项转换成对应的sql;
如果第二步包含自定义排序,则将自定义排序字段构造成casewhen的排序表达式。
2.根据权利要求1所述的数据分析查询中自定义排序实现方法,其特征在于:所述第一步的查询结构包含:查询项、过滤项、分组项、分组过滤项、排序项、分页项;
所述查询项用selections表示;过滤项用filters表示;分组项用groups表示;分组过滤项用havings表示;排序项用orders表示;分页项用limit表示;
其中selections包含选取的列,所述选取的列为字段或者为基于列运算的函数;
Filters中包含多个过滤项,其中,各个过滤项之间用“and”或者“or”连接;
groups中包含多个分组的字段,所述每个分组用统计函数求已知统计数值;
havings中包含多个分组过滤项,各个过滤项之间用“and”或者“or”连接;
orders中包含多个排序字段,所述多个排序字段之间用逗号分割;所述每个排序字段按照升序、降序或者自定义排序方式排序;
limit包含有两个整数类型的参数;其中第一个参数为起始位置,第二个参数为取得的条数。
3.根据权利要求1所述的数据分析查询中自定义排序实现方法,其特征在于:所述查询包括对数据的选取、筛选、计算或者排序四种操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410855012.2A CN104504132A (zh) | 2014-12-31 | 2014-12-31 | 一种数据分析查询中自定义排序实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410855012.2A CN104504132A (zh) | 2014-12-31 | 2014-12-31 | 一种数据分析查询中自定义排序实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104504132A true CN104504132A (zh) | 2015-04-08 |
Family
ID=52945529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410855012.2A Pending CN104504132A (zh) | 2014-12-31 | 2014-12-31 | 一种数据分析查询中自定义排序实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104504132A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106383855A (zh) * | 2016-08-31 | 2017-02-08 | 清华大学 | 一种针对sql分析查询的静态授权方法 |
CN106919633A (zh) * | 2016-06-08 | 2017-07-04 | 阿里巴巴集团控股有限公司 | 数据的读取方法及装置 |
CN108647347A (zh) * | 2018-05-14 | 2018-10-12 | 中国平安财产保险股份有限公司 | 分页显示方法、用户设备、存储介质及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100114789A1 (en) * | 2008-11-03 | 2010-05-06 | Myperfectgig | System and method for guiding users to candidate resumes and current in-demand job specification matches using predictive tag clouds of common, normalized elements for navigation |
CN102508825A (zh) * | 2011-11-02 | 2012-06-20 | 北京中电普华信息技术有限公司 | 一种列表数据动态排序方法和装置 |
-
2014
- 2014-12-31 CN CN201410855012.2A patent/CN104504132A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100114789A1 (en) * | 2008-11-03 | 2010-05-06 | Myperfectgig | System and method for guiding users to candidate resumes and current in-demand job specification matches using predictive tag clouds of common, normalized elements for navigation |
CN102508825A (zh) * | 2011-11-02 | 2012-06-20 | 北京中电普华信息技术有限公司 | 一种列表数据动态排序方法和装置 |
Non-Patent Citations (2)
Title |
---|
不应挽留: "SQL自定义排序", 《博客园》 * |
应乐: "基于Python语言的MySQL数据库应用层水平分区技术的研究", 《中国优秀硕士学位论文全文数据库》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106919633A (zh) * | 2016-06-08 | 2017-07-04 | 阿里巴巴集团控股有限公司 | 数据的读取方法及装置 |
CN106383855A (zh) * | 2016-08-31 | 2017-02-08 | 清华大学 | 一种针对sql分析查询的静态授权方法 |
CN106383855B (zh) * | 2016-08-31 | 2019-08-02 | 清华大学 | 一种针对sql分析查询的静态授权方法 |
CN108647347A (zh) * | 2018-05-14 | 2018-10-12 | 中国平安财产保险股份有限公司 | 分页显示方法、用户设备、存储介质及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104239539B (zh) | 一种基于多种信息融合的微博信息过滤方法 | |
WO2003098479A3 (en) | Managing search expressions in a database system | |
CN104714984A (zh) | 一种数据库优化的方法和装置 | |
CN102509001B (zh) | 一种自动去除时序数据野值点的方法 | |
CN104915334A (zh) | 一种基于语义分析的招投标项目关键信息自动化提取方法 | |
CN105718587A (zh) | 一种网络内容资源评估方法及评估系统 | |
CN106777027B (zh) | 大规模并行处理行列混合数据存储装置及存储、查询方法 | |
CN103077192B (zh) | 一种数据处理方法及其系统 | |
CN106202403B (zh) | 一种通过动态分析创建数据库索引的方法 | |
CN102819589B (zh) | 一种基于etl的数据优化方法及设备 | |
CN104504132A (zh) | 一种数据分析查询中自定义排序实现方法 | |
CN102789487A (zh) | 数据查询检索处理装置和数据查询检索处理方法 | |
CN103324701A (zh) | 数据搜索装置和数据搜索方法 | |
CN105930511A (zh) | 一种answer大数据订阅平台 | |
CN104408083A (zh) | 一种社会化媒体分析系统 | |
CN106341542A (zh) | 一种手机上应用程序管理推荐方法及系统 | |
WO2018090557A1 (zh) | 查询数据表的方法和装置 | |
CN104462462A (zh) | 基于业务变化频度的数据仓库建模方法和建模装置 | |
Steinmann et al. | Contribution profiles of voluntary mappers in OpenStreetMap | |
CN104376405A (zh) | 基于云计算和智能分析的餐饮管理系统及用于该系统的预警方法 | |
CN102081644A (zh) | 一种数义分离的数据存储方法 | |
CN104346378B (zh) | 一种实现复杂数据处理的方法、装置及系统 | |
CN103294768B (zh) | 一种异常数据的剔除方法 | |
CN104268238A (zh) | 基于开源技术的可配置的成本分摊计算方法 | |
CN105574027A (zh) | 基于oltp/olap混合应用下多维度性能数据存储方法、装置及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150408 |