从左关联到数据维度的思考 原

开始于同事提的问题

SELECT     A.code,
       ..........
       A.C_VALUE1     CVALUE1,
       A.C_VALUE2     CVALUE2,
       B.C_VALUE3     CVALUE3
  from (select t.code,
               t.c_value1,
               to_char(wm_concat(t.c_value2)) c_value2
          from t_ext t
         where t.c_data_type = 'RELA'
         group by t.code, t.c_value1) a
  left join t_ext b
    on a.code = b.code
   and a.c_value1 = b.c_value1
   and b.c_data_type = 'RELA'

同事针对上面SQL提出问题:

本来数据库是一个c_port_code 一个 c_value1 一个 c_value2存的, 现在想按照把 同一个 c_port_code 和 c_value1 的 c_value2合并为新的c_value2, 但是不想把c_value3和d_date放到分组里面,又需要这两个字段的值,导致重复数据了,该怎么去重呀

分析后回复如下:

在a 的结果集,用了group by ,其实相当于将表“降维”了。假如原来1000行,现在分组后结果集变为100行了。 在b 的结果集,没用group by ,它还是原来的维度。 当它们left join时,肯定会再扩展回来呀,升维成为1000行。

再解释一下维度: 比如 商品表是一维表, 商品名称: 价格,产地,类别,备注

商品日销售表是二维表:  商品名称,日期:  购买人,购买数量,结账口......

如果你对“商品日销售表" group by 一下。  就相当于降维,体现在主键列减少了 商品名称 :   总购买数量

前面你让两个维度不同的表进行join,肯定引起某个表的扩展呀!

最后解决:

  同事说他写了2个SQL来获取结果。

后续:

很多系统都会设计一个数据源的模块,往往止于”取到结果集“,其实拿到结果集只是第一步,更重要的是要反应出来结果集的行间的一个关系来。比较重要就是主键列,维度这些概念。

ORACLE本身也有维度的概念,我还没有把维度的概念理解透了,它直接关系着数据的汇总效率,数据视图的”上钻、下钻“,在echart里有上钻下钻功能,我不太清楚它是怎么维护数据关系的,有时间了要研究一下。

待研究的链接:

Oracle Dimension

http://blog.csdn.net/wanghai__/article/details/6609193

Echarts文档:

http://echarts.baidu.com/option.html#series-line.dimensions

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PPV课数据科学社区

盘点十种数据中心网络拓扑

你需要知道最常见的数据中心网络拓扑,并常常检查是否还有其他可选方案。 每家公司的数据中心网络拓扑都不一样。一旦了解主要拓扑结构,很容易判断哪种结构最适合自己...

5476
来自专栏顶级程序员

不多掏钱 让数据库快200倍,Really?!

这年头几乎每个人都在这样那样抱怨性能。数据库管理员和程序员不断发现自己处于这种情形:服务器遇到了瓶颈,或者查询起来没完没了,这种情况并不少见。这种郁闷对我们所...

39111
来自专栏AI科技评论

学界 | 大规模分布式存储如何优化?Facebook说自己的方法能把CPU负载降一半

AI 科技评论按:Facebook今天在研究blog上发布了一篇文章,介绍了自己的超大规模图分区优化算法SHP。这是 Facebook 为了处理自己的规模过大的...

3475
来自专栏AI科技大本营的专栏

AI 技术讲座精选:数学不好,也可以学习人工智能(三)

【AI100 导读】学习人工智能到底要不要学好数学,这俨然已经成了一个争议话题了?之前 AI100 刊发了本系列的前两篇文章,也发表了作者子白的《放弃幻想,搞 ...

45317
来自专栏腾讯云数据库(TencentDB)

TDSQL“相似查询工具MSQL+”入选VLDB论文

作者介绍:王晓宇,腾讯数据库TDSQL团队成员,目前参与TDSQL数据库内核研发工作。

2424
来自专栏PPV课数据科学社区

用R进行文本分析初探——以《红楼梦》为例

一.写在前面的话~   刚吃饭的时候同学问我,你为什么要用R做文本分析,你不是应该用R建模么,在我和她解释了一会儿后,她嘱咐我好好写这篇博文,嗯为了娟儿同学,细...

4745
来自专栏数据派THU

手把手教你Tableau高级数据分析功能(附数据集)

5806
来自专栏专知

耶鲁大学发布自然语言处理资源引擎TutorialBank: 让NLP学习不再困难

2556
来自专栏影子

关于图文识别功能相关技术的大致实现

37511
来自专栏影子

关于图文识别功能相关技术的大致实现

转载请注明源地址:http://www.cnblogs.com/funnyzpc/p/8908906.html

2001

扫码关注云+社区

领取腾讯云代金券