• 网上摘录 数据分组处理


    当数据重复的时候分组才有意义。

    注意点:WHERE和HAVING的区别

    • WHERE:是在执行GROUP BY操作之前进行的过滤,表示从全部数据之中筛选出部分的数据,在WHERE之中不能使用统计函数;
    • HAVING:是在GROUP BY分组之后的再次过滤,可以在HAVING子句中使用统计函数;

    示例:

    select
        b.dept_code dept_id,
       decode(a.find_emp_code,'','小计:',a.find_emp_code) maker,
       count(a.request_id) list_num,
     (count(a.request_id)*to_number((select INFO_DETAIL_VALUE1 from equ_sys_info_detail where info_type_code = '075' and INFO_DETAIL_CODE='01'))) list_sum,
     to_number(null)     bath_num,
     (to_number(null)*to_number((select INFO_DETAIL_VALUE1 from equ_sys_info_detail where info_type_code = '075' and INFO_DETAIL_CODE='02'))) bath_sum
      
     from  EQU_MAINTAIN_REQUEST_ORDER a ,PER_INFO b
       where a.find_emp_code = b.emp_code and a.state_id not in(01,23,24,99) and b.dept_code <>'010301' and b.dept_code like '0103%' 
       group by b.dept_code,rollup(a.find_emp_code)

    --查询结果  每个部门自动显示小计数据

     1 010302 3013 212 2120  
    2 010302 3016 75 750  
    3 010302 3017 37 370  
    4 010302 3023 74 740  
    5 010302 3024 115 1150  
    6 010302 3043 82 820  
    7 010302 3048 53 530  
    8 010302 3107 18 180  
    9 010302 3109 5 50  
    10 010302 小计: 671 6710  
    11 010303 3019 33 330  
    12 010303 3020 47 470  
    13 010303 3027 39 390  
    14 010303 3029 52 520  
    15 010303 3030 36 360  
    16 010303 3044 119 1190  
    17 010303 3046 68 680  
    18 010303 3077 16 160  
    19 010303 3092 4 40  
    20 010303 3106 10 100  
    21 010303 小计: 424 4240  
    22 010304 3018 25 250  
    23 010304 3022 219 2190  
    24 010304 3031 38 380  
    25 010304 3032 58 580  
    26 010304 3039 69 690  
    27 010304 3053 29 290  
    28 010304 3081 38 380  
    29 010304 3087 48 480  
    30 010304 3105 19 190  
    31 010304 3108 8 80  
    32 010304 小计: 551 5510  
    33 010305 3014 70 700  
    34 010305 3035 27 270  
    35 010305 3036 66 660  
    36 010305 3038 10 100  
    37 010305 3042 35 350  
    38 010305 3047 52 520  
    39 010305 3051 11 110  
    40 010305 3054 166 1660  
    41 010305 3076 42 420  
    42 010305 3078 24 240  
    43 010305 小计: 503 5030  
    44 010306 3004 5 50  
    45 010306 3008 30 300  
    46 010306 3009 10 100  
    47 010306 3055 4 40  
    48 010306 小计: 49 490  
    49 010308 3011 111 1110  
    50 010308 3026 80 800  
    51 010308 3034 44 440  
    52 010308 3041 117 1170  
    53 010308 3045 325 3250  
    54 010308 3050 103 1030  
    55 010308 3052 47 470  
    56 010308 3079 71 710  
    57 010308 3086 53 530  
    58 010308 3097 4 40  
    59 010308 小计: 955 9550  

  • 相关阅读:
    AngularJS指令的详解
    Linux(Ubuntu)下如何安装JDK
    Hibernate的三种状态
    JS是按值传递还是按引用传递
    git分支管理
    Hibernate注解映射联合主键的三种主要方式
    Linux下解决用户不能执行sudo的方法
    【GStreamer开发】GStreamer基础教程03——动态pipeline
    【GStreamer开发】GStreamer基础教程02——GStreamer概念
    【GStreamer开发】GStreamer基础教程02——GStreamer概念
  • 原文地址:https://www.cnblogs.com/honliv/p/2893131.html
Copyright © 2020-2023  润新知