zoukankan      html  css  js  c++  java
  • 求数据表中一字段的相同前缀出现次数最大的前缀

    一、首先说一下我的需求,在数据表T_CERTI_EXELAW中求certicode字段前三位出现次数最多的三位(期望结果是207),数据表如下:
                 
                  期望结果是207
     
    二、两种sql语句比较(oracle数据库)
    方法一:常规嵌套(耗时:0.031seconds)
     SELECT NAME
       FROM (SELECT HEAD AS NAME, COUNT(HEAD) AS TIMES
               FROM (SELECT SUBSTR(M.CERTICODE, 0, 3) AS HEAD
                       FROM T_CERTI_EXELAW M
                      WHERE M.MAKEDEPART =
                            (SELECT MAKEDEPART
                               FROM T_CERTI_EXELAW
                              WHERE CERTICODE = 'ccc20140310112954')) T
              GROUP BY HEAD)
      WHERE TIMES = (SELECT MAX(TIMES)
                       FROM (SELECT HEAD AS NAME, COUNT(HEAD) AS TIMES
                               FROM (SELECT SUBSTR(M.CERTICODE, 0, 3) AS HEAD
                                       FROM T_CERTI_EXELAW M
                                      WHERE M.MAKEDEPART =
                                            (SELECT MAKEDEPART
                                               FROM T_CERTI_EXELAW
                                              WHERE CERTICODE = 'ccc20140310112954')) T
                              GROUP BY HEAD))
         方法二:     使用排序(耗时:0.016 seconds)                
         SELECT NAME FROM (SELECT HEAD AS NAME, COUNT(HEAD) AS TIMES
            FROM (SELECT SUBSTR(M.CERTICODE, 0, 3) AS HEAD
               FROM T_CERTI_EXELAW M
               WHERE M.MAKEDEPART =
                    (SELECT MAKEDEPART
                       FROM T_CERTI_EXELAW
                      WHERE CERTICODE = 'ccc20140310112954')) T
      GROUP BY HEAD ORDER BY times DESC ) WHERE ROWNUM='1'
     
    总结:我感觉以上方法还不是不够高效,有好方法请指教。
  • 相关阅读:
    算法(5)
    字典
    算法(4)
    AD域设置
    css两句话搞定漂亮表格样式
    Dev控件用法 aspxTreeList 无刷新 aspxGridView 数据
    ASP.Net 验证视图状态 MAC 失败
    C# 客服端上传文件与服务器器端接收 (简单代码)
    Linq to SQL 类型的对象图包含循环,如果禁用引用跟踪,择无法对其进行序列化。
    C# 导出 Excel 数字列出现‘0’的解决办法
  • 原文地址:https://www.cnblogs.com/hsuchan/p/3591725.html
Copyright © 2011-2022 走看看