zoukankan      html  css  js  c++  java
  • Oracle-一张表中增加计算某列值重复的次数列,并且把表中其他列也显示出来,或者在显示过程中做一些过滤

    总结:

    1、计算某列值(数值or字符串)重复的次数

    select 列1,count( 列1 or *) count1  from table1 group by 列1

    输出的表为:第一列是保留唯一值的列1,第二列是count1列的统计表。

    问:那怎么把其他列信息也都显示出来呢?可以参考:http://www.myexception.cn/oracle-develop/1767413.html  我这里自己做一个总结,进入下一步。
    2、一张表中增加一列计算某列值重复的次数列,并且把表中其他列也显示出来,或者在显示出来的过程中做一些过滤性处理
    (1)如果,列1跟剩下的列之间信息都是一对一,那直接用max() or min()函数去一一处理剩下列就可以完全显示剩下列信息。

       select count(列1 or *) count1,max(列2)  列2,max(列3)  列3,max(列4)  列4  from table1 group by 列1

     (2)如果,列1跟剩下的列之间信息都是一对多,那max() or min()就会实现保留最大or最小那个(这两个函数:可以处理数值、时间早晚、日期大小、也能处理字符串会有输出不报错)

    3、如果列之间是一对多,又要怎么实现“既实现计算统计功能,又完整显示剩余列信息呢?”

    select SS.*,TT.*  from table1 SS  left join (select 列1,count( 列1 or *) count1  from table1 group by 列1) TT on SS.列1=TT.列1

    4、再说一下max() or min() 函数的用的比较好的功能

    (1)强大过滤功能:按过滤列的先后顺序,去实现关联性过滤功能,类似漏斗一层层过滤

    (2)还可以结合其他函数使用,例如,concat()、substr()

    粘贴一下例子:

    1、group by 实现保留TEL_DLR值唯一,max() min()实现过滤功能

  • 相关阅读:
    js操作cookies
    努力挣钱只是不希望我的爱情受到别人金钱的考验罢了
    ASP 删除字符串开始或/和末尾处指定字符(串)
    lhgdialog 窗体之间的传值
    vs2010教程开始
    打开某些网页时IE弹出安全警告
    flex 版本问题
    【jQuery插件】用于瀑布式布局(砖块)的插件jquery Masonry
    自动根据动态的intput计算值
    js日期格式“补零”
  • 原文地址:https://www.cnblogs.com/Formulate0303/p/12033876.html
Copyright © 2011-2022 走看看