精华内容
下载资源
问答
  • 关于jqGrid中的分组功能

    万次阅读 2013-01-21 08:57:14
    jqGrid为数据提供了分组的功能,该分组可以根据相应一列信息进行...图1、根据地址和年龄信息进行分组并显示每组中记录数量 相关属性: grouping:true,  groupingView : {  groupField : ['address','age']

    jqGrid为数据提供了分组的功能,该分组可以根据相应的一列的信息进行分组,同时也可以根据多列的数据进行分组。如图:


    图1、根据地址和年龄信息进行分组并显示每组中记录的数量

    相关属性:

    grouping:true,

                     groupingView : {

                     groupField : ['address','age'],//分组属性

                     groupColumnShow : [true,true],//是否显示分组列

                     groupText : ['<b>{0} - {1} 条记录</b>'],//表头显示数据(每组中包含的数据量)

                     groupCollapse :false,//加载数据时是否只显示分组的组信息

                     groupSummary : [true,false],//是否显示汇总  如果为true需要在colModel中进行配置summaryType:'max',summaryTpl:'<b>Max: {0}</b>'

                     groupDataSorted : true,//分组中的数据是否排序

                     groupOrder:['desc','desc'] , //分组后组的排列顺序

                    //showSummaryOnHide: true//是否在分组底部显示汇总信息并且当收起表格时是否隐藏下面的分组

                     },

    属性解释:

    grouping:t jqGrid中该属性默认为false,但需要进行分组的时候将该属性设置为true

    groupField :该属性表示分组的依据,可以跟据某一列的信息进行分组,也可以根据多列进行分组

    groupColumnShow :该属性表示依据其分组的列是否还显示在表中 true表示显示,false表示不显示,默认为true.

    groupText :在分组的头部显示的信息

    groupCollapse :该属性表示在加载数据的时候是否只显示分组信息,false表示既显示分组信息也显示每个分组里面的详细信息,true则只显示分组信息

    groupSummary :该属性表示对分组里面的信息进行分析,如果为true需要在colModel中进行配置summaryType:'max',summaryTpl:'<b>Max: {0}</b>'

    groupDataSorted:表示分组中的数据是否进行排序

    groupOrder: //分组后组的排列顺序

    showSummaryOnHide: true//是否在分组底部显示汇总信息并且当收起表格时是否隐藏下面的分组

     

    页面源码如下:

      <scripttype="text/javascript"> 

                $.jgrid.no_legacy_api =true; 

                $.jgrid.useJSON =true; 

          </script> 

            <scripttype="text/javascript"> 

                $(function(){  

                 $("#grid_id").jqGrid({ 

                   url:'doexecute.action?str=id', 

                    mtype: 'post', 

                    datatype:'json', 

                    height: "auto", 

                    width:800,

                    loadui:"disable", 

                    colNames:['姓名', '年龄','地址'],

                    colModel: [ 

                     {name:'name',index:'name', width:150, sorttype:"string",editable:true ,summaryType:'count', summaryTpl : '({0})total',frozen:true},

                     {name:'age',index:'age', width:120,sorttype:"int",editable:true, summaryType:'max',summaryTpl:'<b>Max: {0}</b>',frozen:true},

                     {name:'address',index:'address',width:150,sorttype:"string",editable:true} 

                   ],     

                     pager:'#pager', 

                     rowNum:10, 

                    rowList:[10,20,30], 

                     sortname:'name', 

                     sortorder:'asc', 

                     viewrecords:true, 

                     multiselect:true,//是否支持多选

                    

                     grouping:true,

                     groupingView : {

                     groupField : ['address','age'],//分组属性

                     groupColumnShow : [true,true],//是否显示分组列

                     groupText : ['<b>{0} - {1} 条记录</b>'],//表头显示数据(每组中包含的数据量)

                     groupCollapse :false,//加载数据时是否只显示分组的组信息

                     groupSummary : [true,false],//是否显示汇总  如果为true需要在colModel中进行配置summaryType:'max',summaryTpl:'<b>Max: {0}</b>'

                     groupDataSorted : true,//分组中的数据是否排序

                     groupOrder:['desc','desc'] , //分组后组的排列顺序

                    //showSummaryOnHide: true//是否在分组底部显示汇总信息并且当收起表格时是否隐藏下面的分组

                     },

                    footerrow:true,

                    userDataOnFooter:true,

                      

                      

                       

                    jsonReader:{root:"list",

                               page:"page" ,

                               total:"totalPage",

                               records:"totalRecords",

                                repeatitems : false    

                                },

                    caption: '员工信息' 

                  }); 

               

                

                

                 jQuery("#grid_id").jqGrid('navGrid','#pager',{add:true,edit:true,view:true,del:true,search:true,refresh:true}, 

                    {url:'doexecute.action?str=id',closeAfterEdit:true, closeOnEscape:true, left:240},  

                   {url:'doexecute.action?str=id',closeAfterAdd:true, closeOnEscape:true,left:240},

                   {url:'doexecute.action?str=id',closeAfterEdit:true, closeOnEscape:true,top:90, left:240, resize:false, drag:false}, 

                   {url:'doexecute.action?str=id',multipleSearch:true,closeAfterSearch:true, closeOnEscape:true, sopt:['le','ge','bw']}, 

                    {closeOnEscape:true,left:240}

                  ); 

                 jQuery("#grid_id").jqGrid('setGroupHeaders', {//显示报表头部信息

                     useColSpanStyle: false,

                     groupHeaders:[

                    {startColumnName:'name', numberOfColumns:2, titleText: '<em>个人基本信息</em>'},

                    {startColumnName:'address', numberOfColumns: 1, titleText: '个人住址信息'}

                     ] 

                    });  

             jQuery("#grid_id").jqGrid('setFrozenColumns');     

                 

                });  

            </script> 

        </head> 

        <body> 

            <tableid="grid_id"></table> 

            <divid="pager"></div> 

       </body>  

    展开全文
  • 一个关于c#linq问题

    2016-11-03 14:25:39
    现在有一个list范型student,这个list里有若干个studentModel,model有这些字段:姓名、年龄等等,我现在想对这个list进行循环分组:select 姓名、年龄 from list group by 姓名、年龄。怎么用linq写出来;如果更新...
  • 关于sql中聚合函数

    2018-12-12 15:15:10
    聚合函数一般和 group by 一起使用,但是也能单独使用(前提 sql只返回一个字段的值)。...这里的SUM作用在所有返回记录的age字段上,结果就是该查询只返回一个结果,即t1表所有人年龄的总和。 3.在...

        聚合函数一般和 group by 一起使用,但是也能单独使用(前提 sql只返回一个字段的值)。

     

    1.和group by配合使用,查询分组后同一个字段多条数据的聚合值。

    2.单独使用时,规定只能返回一个字段的值。

    select  SUM(age)  from  t1
    这里的SUM作用在所有返回记录的age字段上,结果就是该查询只返回一个结果,即t1表所有人年龄的总和。

    3.在不使用group by,想要获取到所有数据,和聚合函数值:示例如下:

    select * From table where id = (select max(id) from table))

     

    展开全文
  • 1.使用group by子句实现分组 select max(sage) 最大年龄,sdept 所在班级 from stu group by sdept; group by子句是select语句可选子句,其功能是为了将表输出划分为若干个组 group by子句在被定义数据基础上...

    ------高级查询------
    1.使用group by子句实现分组
    select max(sage) 最大年龄,sdept 所在班级 from stu group by sdept;
    group by子句是select语句的可选子句,其功能是为了将表的输出划分为若干个组
    group by子句在被定义的数据的基础上建立比较小的租,并且对每个组进行聚合函数计算,或者说其产生每一组总体信息;group by可以把一列当成组合列,其总结组合列中不重复值的信息;使用了group by子句的选择列表中只能包含以下项:
    常量值、组合列、表达式(每个表达式为每组返回一个值)

    2.按条件查询并分组
    含有group by子句的select语句也可以包含where子句,并对满足条件的查询进行分组
    select max(sage) 最大年龄,sdept 所在班级 from stu where sgender='男' group by sdept;

    3.使用cube汇总数据
    group by子句中可以使用cube关键字和rollup关键字,其中cube参数的作用是除了返回由group by子句指定的列外,还返回按组统计的行
    select sdept 系部,sno 学号,max(sage) 最大年龄 from stu group by cube(sno,sdept);
    cube运算符生成的结果集是多维数据集,其包含了各维度的所有可能组合的交叉表格,即包含维度列中各值的所有可能组合

    4.使用rollup汇总数据
    select sdept 系部,sno 学号,max(sage) 最大年龄 from stu group by rollup(sno,sdept);
    对于group by子句中右边的列中的每个值,rollup操作并不报告左边一列(各列)中值的所有可能组合
    cube和rollup之间的区别在于:
    cube生成的结果集显示了所选列中值的所有组合的聚合;
    rollup生成的结果集显示了所选列中值的某一层次结构的聚合

    5.用grouping函数区分null值
    select sno,sdept,avg(sage) grouping(sno) from stu group by cube(sno,dept);
    使用grouping函数,以sno字段为目标列,可看到该列中含有数据0和1,其中1表示由cube运算符造成的null值,其余null值为事实数据的空值

    6.使用having子句过滤分组数据
    select max(sage),sdept from stu group by sdept having max(sage)>=25;

    having和where的不同之处在于:
    在where子句中,在分组进行以前,消除不满足条件的行,在having子句中,在分组之后条件被应用
    having可在条件中包含聚合函数,但where不能
    where子句作用与表和视图,having子句作用与分组

    having子句允许用户为每一个分组指定条件,也即可以根据用户指定的条件来选择行

    7.使用order by子句排序
    select sno,sname,sage,sbirth,sdept from stu order by sage asc;
    根据年龄从小到大排序;
    asc表示升序排列
    desc表示降序排列
    默认排序方式是升序;

    8.对字符串列排序
    select sno,sname,sage,sbirth,sdept from stu order by sname;
    对字符串类型的数据进行排序时,按照的时ascll码的大小顺序;如果指定排序的字段值是中文汉字,则以拼音字母的ascll码值比较而得出的顺序

    9.多列排序
    select sno,sname,sage,sbirth,sdept from stu order by sdept,sage;
    先用第一个字段排序,再用第二个字段排序

    10.对查询进行集合运算
    select sno from stu
    minus
    select sno from grade;
    在Oracle PL/SQL中的集合运算就是将两个或者多个集合组合成为一个结果集,集合运算包括一下4种:
    intersect交集:返回两个查询共有的记录
    union all并集:返回各个查询的所有记录,包括重复记录
    union并集:返回各个查询的所有记录,不包括重复记录
    minus补集:返回第一个查询检索出的记录减去第二个查询检索出的记录之后剩余的记录

    当使用集合操作的时候,查询所返回的列名可以不同,但列数以及列的数据类型必须匹配,否则无法进行运算

    返回多个表的共有数据:
    select sno from stu
    intersect
    select sno from grade;
    返回各个表的所有数据:
    select sno from stu
    union all
    select sno from grade;

    11.无条件多表查询
    连接查询:
    select stu.sno,stu.sname,stu.dept,grade.sno,grade.cname,grade.score from stu,grade;

    12.有共同字段的表等值连接:
    select stu.*,grade.* from stu,grade where stu.sno = grade.sno;
    含条件的等值连接:
    select stu.sno,stu.sname,grade.cname,grade.score from stu,grade where stu.sno=grade.sno and stu.sname='张清';
    有共同字段的表非等值连接:
    select stu.sno,stu.sname.grade.cname,grade.score from stu,grade where stu.sno<> grade.sno;

    13.两个表进行内连接:
    是指当两个表的相关字段满足连接条件时,则从这两个表中提取数据并组合成新的记录
    select stu.*,grade.* from stu inner join grade onstu.sno = grade.sno;
    等值连接也是内连接的一种

    两个表进行自然连接:
    select stu.*,grade.cname,grade.score from stu inner join grade on stu.sno = grade.sno where stu.sgender = '女';
    自然连接子句是基于两个表存在相同名称的列
    返回两个表相匹配列中具有相同值的记录
    如果名称相同的列数据类型不同,会产生错误

    一个表进行自连接:
    select distinct s1.sno,s1.sname,s1.sage,s1.sbirth,s1.sdept from stu s1 inner join stu s2 on s1.sage = s2.sage where s1.sno <> s2.sno order by s1.sage desc;
    自连接中一般需要使用关键字distinct消除重复记录

    14.两个表进行左外连接:
    select stu.sno,stu.sname,grade.cname,grade.score from stu left outer join grade on stu.sno = grade.sno;
    左连接的特点是显示全部左边表中的所有项目,即使其中有些项中的数据未填写完全;左外连接返回那些存在于坐标而右表中却没有的行,再加上内连接的行

    两个表进行右外连接:
    select stu.sno,stu.sname,grade.cname,grade.score from stu right outer join grade on stu.sno = grade.sno;

    两个表进行全外连接:
    select stu.sno,stu.sname,grade.cname,grade.score from stu full outer join grade on stu.sno = grade.sno;
    select stu.sno,stu.sname,grade.cname,grade.score from stu left outer join grade on stu.sno = grade.sno(+);
    select stu.sno,stu.sname,grade.cname,grade.score from stu right outer join grade on stu.sno(+) = grade.sno;

    15.多表连接
    select stu.sno,stu.sname,grade.cname,grade.score,course.cscore from stu join grade on stu.sno = grade.sno join course on grade.cname = course.cname where stu.sname = '张清';


     

    展开全文
  • 6、获取所有⼥性的联系⼈,并且按照年龄的降序排列。 7、根据姓名删除某个联系⼈。 8、删除某个分组的全部联系⼈。 二.处理⼯程⽂件crayons.txt中的⽂本信息,⽂本内容是关于颜⾊的,每⾏都是⼀ 个颜⾊的信息,...
  • 例如,例如我们有一组关于年龄的数据,如下图所示: 初始数据 现在我们希望将他们的年龄分组到更少的间隔中,可以通过设置一些条件来实现: 分箱后的数据 分箱的数据不一定必须是数字,它们...
        

    1 分箱简介

    数据分箱(也称为离散分箱或分段)是一种数据预处理技术,用于减少次要观察误差的影响,是一种将多个连续值分组为较少数量的“分箱”的方法。

    例如,例如我们有一组关于人年龄的数据,如下图所示:


    1531909-1778c259c40d0f31.png
    初始数据

    现在我们希望将他们的年龄分组到更少的间隔中,可以通过设置一些条件来实现:


    1531909-39885868cd02459e.png
    分箱后的数据

    分箱的数据不一定必须是数字,它们可以是任何类型的值,如“狗”,“猫”,“仓鼠”等。 分箱也用于图像处理,通过将相邻像素组合成单个像素,它可用于减少数据量。


    1531909-ce2cde0f5eff838a.png
    分箱

    2 分箱的重要性及其优势

    一般在建立分类模型时,需要对连续变量离散化,特征离散化后,模型会更稳定,降低了模型过拟合的风险。比如在建立申请评分卡模型时用logsitic作为基模型就需要对连续变量进行离散化,离散化通常采用分箱法。分箱的有以下重要性及其优势:

    1. 离散特征的增加和减少都很容易,易于模型的快速迭代;
    2. 稀疏向量内积乘法运算速度快,计算结果方便存储,容易扩展;
    3. 离散化后的特征对异常数据有很强的鲁棒性:比如一个特征是年龄>30是1,否则0。4. 如果特征没有离散化,一个异常数据“年龄300岁”会给模型造成很大的干扰;
    4. 逻辑回归属于广义线性模型,表达能力受限;单变量离散化为N个后,每个变量有单6. 独的权重,相当于为模型引入了非线性,能够提升模型表达能力,加大拟合;
    5. 离散化后可以进行特征交叉,由M+N个变量变为M*N个变量,进一步引入非线性,提升表达能力;
    6. 特征离散化后,模型会更稳定,比如如果对用户年龄离散化,20-30作为一个区间,不会因为一个用户年龄长了一岁就变成一个完全不同的人。当然处于区间相邻处的样本会刚好相反,所以怎么划分区间是门学问;
    7. 特征离散化以后,起到了简化了逻辑回归模型的作用,降低了模型过拟合的风险。
    8. 可以将缺失作为独立的一类带入模型。
    9. 将所有变量变换到相似的尺度上。

    3 分箱方法

    有监督分箱

    卡方分箱

    自底向上的(即基于合并的)数据离散化方法。它依赖于卡方检验:具有最小卡方值的相邻区间合并在一起,直到满足确定的停止准则。

    基本思想:
    对于精确的离散化,相对类频率在一个区间内应当完全一致。因此,如果两个相邻的区间具有非常类似的类分布,则这两个区间可以合并;否则,它们应当保持分开。而低卡方值表明它们具有相似的类分布。

    1531909-a75323df7687f616.png

    这里需要注意初始化时需要对实例进行排序,在排序的基础上进行合并。

    卡方阈值的确定:
    根据显著性水平和自由度得到卡方值自由度比类别数量小1。例如:有3类,自由度为2,则90%置信度(10%显著性水平)下,卡方的值为4.6。

    阈值的意义:
    类别和属性独立时,有90%的可能性,计算得到的卡方值会小于4.6。 大于阈值4.6的卡方值就说明属性和类不是相互独立的,不能合并。如果阈值选的大,区间合并就会进行很多次,离散后的区间数量少、区间大。

    注:
    1、ChiMerge算法推荐使用0.90、0.95、0.99置信度,最大区间数取10到15之间.
    2、也可以不考虑卡方阈值,此时可以考虑最小区间数或者最大区间数。指定区间数量的上限和下限,最多几个区间,最少几个区间。
    3、对于类别型变量,需要分箱时需要按照某种方式进行排序。

    最小熵法分箱

    1531909-6eabfa968190f607.png

    无监督分箱

    • 等距分箱
      从最小值到最大值之间,均分为 N 等份, 这样, 如果 A,B 为最小最大值, 则每个区间的长度为 W=(B−A)/N , 则区间边界值为A+W,A+2W,….A+(N−1)W 。这里只考虑边界,每个等份里面的实例数量可能不等。
    def create_bins(lower_bound, width, quantity):
        """
        创建等距分箱
        """
    
        bins = []
        for low in range(lower_bound,
                         lower_bound + quantity * width + 1, width):
            bins.append((low, low + width))
        return bins
    bins = create_bins(lower_bound=50,
                       width=4,
                       quantity=10)
    print(bins)
    

    输出:

    [(50, 54), (54, 58), (58, 62), (62, 66), (66, 70), (70, 74), (74, 78), (78, 82), (82, 86), (86, 90), (90, 94)]
    

    给出一组数据,然后查找它们所属的分箱

    def find_bin(value, bins):
        """
        查找分箱
        """
        for i in range(0, len(bins)):
            if bins[i][0] <= value < bins[i][1]:
                return i
        return -1
    
    from collections import Counter
    weights_of_persons = [73.4, 69.3, 64.9, 75.6, 74.9, 80.3,
                          78.6, 84.1, 88.9, 90.3, 83.4, 69.3,
                          52.4, 58.3, 67.4, 74.0, 89.3, 63.4]
    binned_weights = []
    for value in weights_of_persons:
        bin_index = find_bin(value, bins)
        print(value, bin_index, bins[bin_index])
        binned_weights.append(bin_index)
    
    frequencies = Counter(binned_weights)
    print(frequencies)
    
    

    输出:

    73.4 5 (70, 74)
    69.3 4 (66, 70)
    64.9 3 (62, 66)
    75.6 6 (74, 78)
    74.9 6 (74, 78)
    80.3 7 (78, 82)
    78.6 7 (78, 82)
    84.1 8 (82, 86)
    88.9 9 (86, 90)
    90.3 10 (90, 94)
    83.4 8 (82, 86)
    69.3 4 (66, 70)
    52.4 0 (50, 54)
    58.3 2 (58, 62)
    67.4 4 (66, 70)
    74.0 6 (74, 78)
    89.3 9 (86, 90)
    63.4 3 (62, 66)
    
    Counter({4: 3, 6: 3, 3: 2, 7: 2, 8: 2, 9: 2, 5: 1, 10: 1, 0: 1, 2: 1})
    
    • 等频分箱
       区间的边界值要经过选择,使得每个区间包含大致相等的实例数量。比如说 N=10 ,每个区间应该包含大约10%的实例。

    以上两种算法的弊端:比如,等宽区间划分,划分为5区间,最高工资为50000,则所有工资低于10000的人都被划分到同一区间。等频区间可能正好相反,所有工资高于50000的人都会被划分到50000这一区间中。这两种算法都忽略了实例所属的类型,落在正确区间里的偶然性很大。

    reference:https://blog.csdn.net/Pylady/article/details/78882220

    4 pandas实现数据分箱

    首先创建一个长度为20的,范围在30-100之间的学生分数的数组

    import numpy as np
    import pandas as pd
    from pandas import Series, DataFrame
    
    score_list = np.random.randint(30, 100, size=20)
    print(score_list)
    
    [52 54 36 82 91 62 78 75 65 96 97 62 62 49 94 37 61 30 88 32]
    

    然后我们再设置分箱:

    bins=[0,59,70,80,100]
    

    这就表示数据有0-59,59-70,70-80,80-100这几个等级。
    下面把分箱和分数利用cut方法结合到一起。

    score_cat = pd.cut(score_list, bins)
    print(pd.value_counts(score_cat))
    
    
    (0, 59]      8
    (80, 100]    7
    (59, 70]     3
    (70, 80]     2
    

    5 参考资料

    展开全文
  • 关于写这篇文章我做了很多工作,想了很多办法,尝试过QQ邮箱、QQ空间、QQ查找抓包,最终也没有选出一个好方法,不能爬下完全数据,但能尽可能爬下多数据 包括昵称、网名、分组年龄、地址 提示:以下是本篇...
  • 数据分箱

    2019-05-25 19:51:53
    例如,例如我们有一组关于年龄的数据,如下图所示: 初始数据 现在我们希望将他们的年龄分组到更少的间隔中,可以通过设置一些条件来实现: 分箱后的数据 分箱的数据不一定必须是数字,它们可以是...
  • 例如,例如我们有一组关于年龄的数据,如下图所示:初始数据现在我们希望将他们的年龄分组到更少的间隔中,可以通过设置一些条件来实现:分箱后的数据分箱的数据不一定必须是数字,它们可以是任何类型的值,如“狗...
  • 例如,例如我们有一组关于年龄的数据,如下图所示: 现在我们希望将他们的年龄分组到更少的间隔中,可以通过设置一些条件来实现: 分箱的数据不一定必须是数字,它们可以是任何类型的值,如“狗”,“猫”,...
  • 特征工程 -- 数据分桶 Task3

    千次阅读 2020-03-27 17:00:57
    例如,例如我们有一组关于年龄的数据,如下图所示: 现在我们希望将他们的年龄分组到更少的间隔中,可以通过设置一些条件来实现: 分桶的数据不一定必须是数字,它们可以是任意类型的值,如“猫”、“狗”等。分...
  • 征工程之数据分箱

    2021-01-20 14:21:24
    例如,例如我们有一组关于年龄的数据,如下图所示: 初始数据 现在我们希望将他们的年龄分组到更少的间隔中,可以通过设置一些条件来实现: 分箱后的数据 分箱的数据不一定必须是数字,它们可以是任
  • 数据分桶

    千次阅读 2020-07-13 13:56:40
    例如,例如我们有一组关于年龄的数据,如下图所示: 现在我们希望将他们的年龄分组到更少的间隔中,可以通过设置一些条件来实现: 分桶的数据不一定必须是数字,它们可以是任意类型的值,如“猫”、“狗”等。分...
  • 10)按照性别分组查询所有平均年龄答案: select avg(age) from student group by sex; 18、什么是存储过程?为什么存储过程要比单纯SQL语句执行起来要快? 我答案: 存储过程算是一种优化...
  • 计算距离退休年龄的公式 求工齡 计算工龄 年龄及工龄计算自动算出工龄日期格式为(yyyy.mm.dd) 【时间和日期应用】 自动显示当前日期公式 如何在单元格中自动填入当前日期 如何判断某日是否星期天 某个日期是星期几 ...
  • EXCEL函数公式集

    热门讨论 2010-03-16 03:26:38
    计算距离退休年龄的公式 求工齡 计算工龄 年龄及工龄计算自动算出工龄日期格式为(yyyy.mm.dd) 【时间和日期应用】 自动显示当前日期公式 如何在单元格中自动填入当前日期 如何判断某日是否星期天 某个日期是星期几 ...
  • “工号”、“年龄”、“入职日期”三列属于没有参与列分组的列,所以可以对它们所在单元格进行移动;     “基本信息”分组属于顶层分组,因为它不属于哪个分组的分组,所以也可以对...
  • php高级开发教程说明

    2008-11-27 11:39:22
    在这个例子中,每个人名字包括身高、年龄、性别及婚姻状况。地址中不但包括街道和 城市,而且也包括州、国家、甚至星球。电话号码附加了国家和地区号。 第二种解决方案比第一种好吗?两个都不是最好。在程序课上...
  • oracle数据库经典题目

    2011-02-17 15:05:20
    查询结果的分组条件 B. 组的筛选条件 C. 限定返回的行的判断条件 D. 对结果集进行排序 8. 下列哪个函数可以把一个列中的所有值相加求和? ( B ) A MAX B. SUM C. COUNT D. AVG 9. 下列哪个子句是SELECT语句中必选项...

空空如也

空空如也

1 2
收藏数 24
精华内容 9
关键字:

关于年龄的分组