精华内容
下载资源
问答
  • datagrid中添加合计行计算合计

    千次阅读 2016-04-08 12:06:40
    公司demo项目实习,我有一个功能是展示所有支出明细后,下面添加一行合计,计算所有支出明细之和。 首先我想到的是用easyui里datagrid有一个属性showFooter,就是添加尾行,无论页面添加多少条数据,合计...
        在公司demo项目实习中,我有一个功能是展示所有支出明细后,在下面添加一行合计,计算所有支出明细之和。
        首先我想到的是用easyui里datagrid有一个属性showFooter,就是添加尾行,无论在页面添加多少条数据,合计行都会位于所有记录的最下方,而且比较美观。于是我在我的代码中添加了showFooter:true的属性,如下:
    <div id="payGrid" wj-type="datagrid"
    	 wj-options="{title:'支出明细',listUrl:'<ww:actionUri action="dirPayDetailData"/>',idField:'uuid',columns:[[
    	 	{ field: 'ck', checkbox: true },
    	 { title: 'uuid', field: 'uuid', width: 100,hidden:true},	
    	{ title: '员工名称', field: 'empName', width: 100},
    	{ title: '支出金额', field: 'payMoney', width: 150 },
    	{ title: '支出时间', field: 'payDate', width: 150,formatter:function(value,row,index){
    	    return myFunction(row.payDate);
    	}},
    	{ title: '创建时间', field: 'createTime', width: 300},
    	{ title: '修改时间', field: 'editTime', width: 300},
    	{ title: '创建者', field: 'creater', width: 300}
    	]]<span style="color:#ff0000;">,showFooter:true,footer:[{'empName':'合计','payMoney':600.0}]</span>}">

    这是模仿easyui官网的demo写的。官网demo的数据来源和我的不太相似,如果有兴趣,大家可以了解一下官网的。easyui官网footer-demo
        官网的demo中,引入了footer,如下:
    <table class="easyui-datagrid" title="Footer Rows in DataGrid" style="width:700px;height:220px"
                data-options="
                    url: 'datagrid_data2.json',
                    method: 'get',
                    fitColumns: true,
                    singleSelect: true,
                    rownumbers: true,
                    showFooter: true
                ">
            <thead>
                <tr>
                    <th data-options="field:'itemid',width:80">Item ID</th>
                    <th data-options="field:'productid',width:120">Product ID</th>
                    <th data-options="field:'listprice',width:80,align:'right'">List Price</th>
                    <th data-options="field:'unitcost',width:80,align:'right'">Unit Cost</th>
                    <th data-options="field:'attr1',width:250">Attribute</th>
                    <th data-options="field:'status',width:60,align:'center'">Status</th>
                </tr>
            </thead>
        </table>
    引入的json中,有三个属性:total,rows,footer。我理解的是,total是返回前台的记录数,rows是返回的数据,footer是你要添加的尾行。如下:
    {"total":28,"rows":[
    	{"productid":"FI-SW-01","unitcost":10.00,"status":"P","listprice":36.50,"attr1":"Large","itemid":"EST-1"},
    	{"productid":"K9-DL-01","unitcost":12.00,"status":"P","listprice":18.50,"attr1":"Spotted Adult Female","itemid":"EST-10"},
    	{"productid":"RP-SN-01","unitcost":12.00,"status":"P","listprice":28.50,"attr1":"Venomless","itemid":"EST-11"},
    	{"productid":"RP-SN-01","unitcost":12.00,"status":"P","listprice":26.50,"attr1":"Rattleless","itemid":"EST-12"},
    	{"productid":"RP-LI-02","unitcost":12.00,"status":"P","listprice":35.50,"attr1":"Green Adult","itemid":"EST-13"},
    	{"productid":"FL-DSH-01","unitcost":12.00,"status":"P","listprice":158.50,"attr1":"Tailless","itemid":"EST-14"},
    	{"productid":"FL-DSH-01","unitcost":12.00,"status":"P","listprice":83.50,"attr1":"With tail","itemid":"EST-15"},
    	{"productid":"FL-DLH-02","unitcost":12.00,"status":"P","listprice":63.50,"attr1":"Adult Female","itemid":"EST-16"},
    	{"productid":"FL-DLH-02","unitcost":12.00,"status":"P","listprice":89.50,"attr1":"Adult Male","itemid":"EST-17"},
    	{"productid":"AV-CB-01","unitcost":92.00,"status":"P","listprice":63.50,"attr1":"Adult Male","itemid":"EST-18"}
    ],"footer":[
    	{"unitcost":19.80,"listprice":60.40,"productid":"Average:"},
    	{"unitcost":198.00,"listprice":604.00,"productid":"Total:"}
    ]}。
        所以在设置后台返回前台的json格式的时候就要在json中添加footer属性,并设置自己的尾行栏。如下:
    <pre name="code" class="java">
        public static String listArrayToJson(List<Object[]> list) {
    		Map<String, Object> resultMap = new HashMap<String, Object>();
    		resultMap.put("total", list==null?0:list.size());
    		resultMap.put("rows", list==null?new ArrayList<Object>():list);
    		return JSONObject.fromObject(resultMap).toString();
    	}
        需要在以上代码中加入footer属性。
       然而后来发现,这样并不美观。同事说所谓尾行,是无论多少条记录,尾行都处于最下端。与我一开始想的效果并不相同。在经理的指点下,我换了个思路。
       我在后台往前台json前,在service中,数据查询后,就插入一行记录,即一个特殊的对象,只有合计和金额两项。
       如下:
    <pre name="code" class="java">DataReader qc=new DataReader("select a.uuid from WjPayDetail a  "+getWhere(model)+orderBy);
    			if(StringHelper.isEmpty(page.getCountField())){
    				page.setCountField("uuid");
    			}
    			setWhere(model,qc);
    			page=qc.page(page);
    			List<WjPayDetail> details=DataReader.idToObj(WjPayDetail.class,page.getResults());
    			<span style="color:#ff0000;">double paySum=0;
    			for(WjPayDetail one:details){
    				paySum=paySum+one.getPayMoney();
    			}
    			WjPayDetail detail=new WjPayDetail();
    			detail.setPayMoney(paySum);
    			detail.setEmpName("合计金额");
    			details.add(detail);</span>
    			page.setResults(details);
    			res=ModeFactory.getModeFactory().buildNewServiceResult(
    					IServiceResult.RESULT_OK,Messages.getString("systemMsg.success"),page);

    红色的部分是我添加的,这样的话,添加的一行,不会存到数据库里,不会影响功能,也不会造成每查询一次,都在上次查询的基础上再添加一行的情况。
        前台页面上显示的是,合计行貌似作为一条正常记录展示,貌似可以像其他记录一样修改删除。这种情况,只需要你在后台或者前台做一下判断,再提示用户不可修改或者删除就好了。
        总之,我思考了两天的问题,终于在经理的指导下,算是解决了。



    
    


    
    
    展开全文
  • 什么是位数?...比如,我学校的最后一次考试中得了 D (或 80),那么我的全班同学的排名是否前 50%? 举一个具体的例子,我们看看从学校的这些测试分数找到位数的过程:[55, 80, 95, 100, 99

    什么是中位数?

    数值型数组的中位数是在数据排序后位于数组中间项的值。如果数组有偶数个元素,中位数就是最中间的两个数值的平均数。

    中位数对于了解“我的值是否位于中间?”非常有用。比如,我在学校的最后一次考试中得了 D (或 80),那么我的在全班同学中的排名是否在前 50%?

    举一个具体的例子,我们看看从学校的这些测试分数中找到中位数的过程:[55, 80, 95, 100, 99, 70, 60]

    1. 首先,对数组排序:[55, 80, 95, 100, 99, 70, 60]  ===> [55, 60, 70, 80, 95, 99, 100].

    2. 这个数组包含 7 个元素,不是偶数,所以中位数是 (7 / 2 + 1),即第 4 项的值 => 80。

    在 MySQL 中计算某列数据的中位数

    很不幸,MySQL 并未内置计算列数据中位数的函数。因此,我们需要自己创建查询。

    假如我们想从“grades”列中查找中位数。来看看我们要创建的查询是什么算法:

    1. 对“grades”排序并为排序后的每一行附加序号(行号)

    2. 如果总行数是奇数,找到位于有序列表中间位置的值。

    3. 如果总行数是偶数,找到位于有序列表中间两个位置的值。

    4. 计算上面第 (3) 步和第 (4) 取得值的平均值。

    5. 返回这个平均值,它就是中位数。

    那么这样的查询该怎么写?
    SET @rownum := -1;
     
    SELECT
       AVG(g.grade)
    FROM
       (SELECT @rowindex:=@rowindex + 1 AS rowindex,
               grades.grade AS grade
        FROM grades
        ORDER BY grades.grade) AS g
    WHERE
    t.rowindex IN (FLOOR(@rowindex / 2) , CEIL(@rowindex / 2));

    解释一下:

    1. 先从内部的一个子查询开始 —— 为 @rowindex 赋值的子查询会为每个成绩赋予一个自增后的序号,并对 grades 排序 [译者注:按逻辑和代码是先排序再赋予序号]。

    2. 有了排好序的成绩列表之后,外层查询会获取位中间位置的值。如果数组元素是奇数个,两个值都是取的位于正中那个值。

    3. 然后,外层查询的 SELECT 子句返回上述两个值的平均值作为中位数。

    你看,这并不是简单的运行 MEDIAN(column_name),但它可行。我们期待 MySQL 会决定将这一功能添加到内置产品中,这将简化获取中位数的查询。




    展开全文
  • LINQ to Entities 查询中,使用常规日期格式转换函数Convert.ToDateTime()以及...那么要想LINQ to Entities 查询中计算两个日期之间相差的天数,该怎么办呢? 别慌,.NET已经为你准备好了工具! System.D...

    在LINQ to Entities 查询中,使用常规日期格式转换函数Convert.ToDateTime()以及日期比较函数TimeSpan.Subtract().Days,都很麻烦而且会出错:LINQ to Entities不能识别方法。。。

    那么要想在LINQ to Entities 查询中,计算两个日期之间相差的天数,该怎么办呢?

    别慌,.NET已经为你准备好了工具!

    System.Data.Entity提供公共语言运行时(CLR)方法,公开EDM规范函数。
    用于System.Data.Entity.DbContext或System.Data.Entity.Core.Objects.ObjectContext。
    LINQ to Entities查询。

    命名空间 System.Data.Entity 包含许多有用的方法,每一类方法都包含好多个重载方法。其中包括但不限于:

    AddDays: public static DateTime? AddDays(DateTime? dateValue, int? addValue);

    摘要:
             //当用作LINQ to Entities查询的一部分时,此方法将调用规范
             // AddDays EDM功能可将给定天数添加到日期/时间。
            //
             //参数:
             // dateValue:
             //输入日期/时间。
            //
             // addValue:
             //要添加的天数。
            //
             //返回结果:
             //结果日期/时间。
            //
             //备注:
             //你不能直接调用这个函数。 此功能只能出现在
             //一个LINQ to Entities查询。 此功能转换为相应的功能
             //在数据库中

     

    AddHours:public static TimeSpan? AddHours(TimeSpan? timeValue, int? addValue);

    //
             //摘要:
             //当用作LINQ to Entities查询的一部分时,此方法将调用规范
             // AddHours EDM功能可将给定的小时数添加到时间跨度。
            //
             //参数:
             // timeValue:
             //输入日期/时间。
            //
             // addValue:
             //要添加的小时数。
            //
             //返回结果:
             //结果时间跨度
            //
             //备注:
             //你不能直接调用这个函数。 此功能只能出现在
             //一个LINQ to Entities查询。 此功能转换为相应的功能
             //在数据库中

    以及AddMicroseconds,AddMinutes,AddMonths等以Add开头的方法就不一一介绍了,感兴趣的可以用vs自行查看。

    AsNonUnicode:public static string AsNonUnicode(string value);

    //
             //摘要:
             //当用作LINQ to Entities查询的一部分时,此方法充当运算符
             //确保输入被视为非Unicode字符串。
            //
             //参数:
             //值:
             //输入字符串
            //
             //返回结果:
             //输入字符串被视为非Unicode字符串。
            //
             //备注:
             //你不能直接调用这个函数。 此功能只能出现在
             //一个LINQ to Entities查询。 此函数会影响LINQ查询的转换方式
             //可以在数据库中运行的查询。

    以及AsUnicode。

    DiffDays:public static int? DiffDays(DateTime? dateValue1, DateTime? dateValue2);

    //
             //摘要:
             //当用作LINQ to Entities查询的一部分时,此方法将调用规范
             // DiffDays EDM函数用于计算两个日期/时间之间的天数。
            //
             //参数:
             // dateValue1:
             //第一个日期/时间
            //
             // dateValue2:
             //第二个日期/时间
            //
             //返回结果:
             //第一个和第二个日期/时间之间的天数。
            //
             //备注:
             //你不能直接调用这个函数。 此功能只能出现在
             //一个LINQ to Entities查询。 此功能转换为相应的功能
             //在数据库中

    以Differ开头的方法也有很多,就不一一介绍了。

    这里有一个问题,上述的DiffDays方法能返回两个日期之间相差的天数,但是并没有强调顺序,也就是说传入两个日期,虽然能知道相隔的天数,但是却不知道谁比谁多。

    同样是相隔两天,早两天和晚两天,意义上可能就差很多。

    所以要根据自己的需要,灵活的使用各种工具方法。

    不过,虽然文档中没有指出两个参数的顺序对结果的影响,但是经过实践,得知:第二个参数与第一个参数比较,大则为正,相等则为零,小则为负。

     

     

     

    展开全文
  • StreamCQL : 实时计算系统的持续查询语言 CQL ( Continuous Query Language ) 是一个针对流式数据的查询语言。相对于传统的SQL来说,CQL增加了window ...数据存储内存,因此内存计算可以快速的完成。

    StreamCQL : 实时计算系统中的持续查询语言





    CQL  ( Continuous Query Language )  是一个针对流式数据的查询语言。相对于传统的SQL来说,CQL中增加了window 窗口的概念。数据存储在内存中,因此内存中的计算可以快速的完成。


    CQL 的查询结果就是流式数据的某个时间点下的计算结果。


    CQL 是基于 Strom 的 SQL 查询语言,主要用来针对 Strom 原始的API太复杂,不易用而提出的,当然也添加了一些 Strom SQL 中 本应该有的基本功能。


    CQL 改进了Strom的组件的易用性。在设计CQL的时候,我们发现,当前的CEP产品中的语法不只是包含SQL语句,还包含了客户端代码。这一点很不爽,因为这让用户不得不学习客户端API的使用 ,同时也增加了复杂度和难度。


    CQL的设计目标就是用纯 SQL语法来避免以上Strom CEP 查询语法带来的缺点。


    核心概念:

    流 Stream ,即一个有限的元素集合,集合中的元素拥有相同的schema。同时,每个元素都有相对的逻辑时间(属性)。
    窗口window:一个用来处理流式时间的方法。有两种窗口,一种是基于时间的,另一种是基于行的。
    表达式:符号和操作符的集合。CQL的解析引擎可以处理一个表达式来获得一个固定的值。多个表达式可以组合使用。



    展开全文
  • 正如该词所示,TF-IDF代表词频-逆文档频率,用于计算在文档语料库使用查询中哪些词可能更受偏好。TF-IDF计算每个单词的权值出现文档的百分比。具有TF-IDF得分更高的单词,意味着与它们出现的文档有很紧密的关系...
  • mysql查询结果添加序号列

    千次阅读 2018-09-20 17:41:23
    生成一个字段(非表字段)用以记录排序 【类比为oracle数据库的rownum】  MySQL一个表(表名:stuscore)  字段有:id(主键)、stuid(学号)、sname(学生姓名)、subject(课程名称)、score(分数)    列...
  • Windows cmd中计算行数

    万次阅读 2014-12-30 19:01:42
    当我们命令行环境工作时,能计算其它工具输出内容的行数有时候是很有用的。很多Unix/Linux操作系统包含一个叫wc的工具,这个工具有可以接受不不少选项,Windows上没有类似的这个工具的替代品,但是Windows CMD...
  • SQL Server 软件版本: SQL Server 2014 Express 本篇博客里面使用了 scott 库,如何你现在还没有添加这个库到你的服务器里面,请查看本篇博客前,访问这篇博文来你的服务器里面附加scott库。 计算列select * ...
  • oracle 单表查询 添加各种查询条件

    千次阅读 2016-09-12 22:20:19
    但是在查询的通常需要添加条件 ---emp 员工表 ----dept 部门表 ----salgrade 工资等级表 --查询语句: /* 语法: select 列名列表 from 表名 [where 查询条件] [order by 列名 ASC|DESC] */ --查询所有行所有列...
  • 交互式查询计算

    千次阅读 2011-09-01 14:44:04
    针对现有数据库查询计算是决策支持的基础,交互式查询是终端用户的最基本需求,准确完备的检索条件可以更好地帮助用户从数据库获取最需要的信息。  目前,交互式查询的解决方案主要有两种:  一、实现交互式查询...
  • 基于图查询系统的图计算引擎

    千次阅读 2019-08-28 16:28:41
    基于图查询系统的图计算引擎柯学翰, 陈榕上海交通大学软件学院并行与分布式系统研究所,上海 200240摘要:目前的研究,图查询和图计算系统是相互独立的,但实际应用...
  • SSRS开发报表添加计算字段时,当遇到除数为0的情形下,报表当中会显示: 错误号,非数字等提示,而并不是显示0 如:添加计算字段表达式为:  =Sum(Fields!消费.Value)/Sum(Fields!点击量.Value) 当Sum(Fields!点击...
  • 状况: SELECT COUNT(*) FROM "data_table" WHERE ... 五百万数据量大概要50秒左右,time字段添加了索引,但由于data_table表分区,按每天分,所以查询隔天的数据时,sql没有走索引,怎么破???? 怎么优化!!
  • //计算进入总人数 同时动态添加内容 var inTotal=0; for(var i=0;i 后台代码: @RequestMapping(value="映射名", method={RequestMethod.POST, RequestMethod.GET}) @ResponseBody public AjaxRes ...
  • 为 MySQL 的查询结果添加排名字段

    千次阅读 2014-03-26 17:08:29
    ...正在用 MySQL 客户端的时候,突然想到如果可以给查询结果添加排名该多好啊,然后就...然后我们要根据 Roll_No 字段进行排序并给出排名,我们首先必须定义一个初始值为0的变量,然后在查询结果使用这个变量。
  • qt 学生成绩计算查询界面设计

    千次阅读 2017-12-07 19:19:40
    这个博客,只放进我自己验收时所做的ppt,ppt的内容涵盖了我上面说到的全部内容。点击进入增加记录界面后,可以根据学号或者姓名增加学生记录,点击增加记录按钮后自动填充专业班级等其他信息,并使能成绩...
  • 如何Hive实现递归计算

    万次阅读 2015-10-10 09:07:12
    Hive脚本中添加: set hive.mapred.supports.subdirectories=true; set mapred.input.dir.recursive=true;
  • 前言:理解计算列上的索引之前,先了解计算列的基本知识。...默认情况下,计算列是一个虚拟的列,并且可以调用时重新计算,直到CREATE TABLE或者ALTER TABLE 命令使用PERSISTED。如果列定义成PERSISTED,会
  • VMWare中为CentOS7添加网卡设备前言无论是RHEL 7、还是CentOS 7都使用了NetworkManager.service来进行网络管理,当然network服务还是可以继续使用的,但也将会是过渡期的残留品了。 除此之外7版本中网卡命名的...
  • SQL 数据库,生成列(Generated Column)是指由表其他字段计算得到的列,因此也称为计算列(Computed Column)。 本文介绍各种主流数据库对于生成列/计算列的实现,包括 Oracle、MySQL、SQL Server、...
  • win7原版镜像中添加usb3.0驱动

    万次阅读 多人点赞 2018-02-14 08:28:38
    一引言 二正文 1工具准备 2准备文件夹 3添加驱动 ...  通过上网查询,我发现官方原版的win7镜像没有集成USB3.0的驱动。而我所使用的U盘接口是USB3.0版本,这导致安装win7的过程,系统无法...
  • Java 8 API添加了一个新的抽象称为流Stream,可以让你以一种声明的方式处理数据。 Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。 Stream API可以极大...
  • 翻了几篇 Prometheus 的 PromQL 查询 cpu 使用率的文章,说得都不是特别透,结合一篇英文文章终于搞明白了怎么计算这个指标。 cpu 模式 一颗 cpu 要通过分时复用的方式运行于不同的模式,可以类比为让不同的人使用...
  • SQL SERVER跨表计算

    千次阅读 2018-12-17 09:17:06
    我们的表字段有时候要用到计算列,有时候计算列需要跨表计算,但是直接加入查询语句报错,我们可以使用函数来实现跨表计算列功能。  测试数据: --测试数据 if not object_id(N'user') is null drop table ...
  • Visio studio中控件添加出现“下列控件已成功添加到工具箱,但未...我安装过程先后出现了好几次未活动设计器启用,网上查询之后,发现网上相关解决方案很少,没有具体操作步骤。 现在用正确的添加步骤...
  • SELECT @rownum:=@rownum+1 AS 序号, t_user.* FROM t_user ,(SELECT @rownum:=0) r -- 最简写法1 更多写法供参考:   ① select (@rowNO := @rowNo+1) AS rowno,uid,uname ...来张查询结果图:
  • 只要简单的添加一个系统变量就ok了 NLS_LANG=AMERICAN_AMERICA.AL32UTF8 具体操作方法:右击“计算机”-“属性”-“高级...不需要添加到path 补充:以上内容是个人遇到的问题和解决办法,仅供参考。如有不懂或...
  • 最近写几个关于“Project - Subitem - Task”的管理系统,说是系统还是有点夸大了,基本就是一个多表查询调用和insert、update的数据库操作,只是出现不少计算和统计的问题,使得SQL显得复杂。所以,有必要一个...
  • 数据库添加索引为什么能加快查询速度

    万次阅读 多人点赞 2018-03-23 09:47:06
    如果我们对某一字段增加索引,查询时就会先去索引列表一次定位到特定值的行数,大大减少遍历匹配的行数,所以能明显增加查询的速度。 MySQL官方对于索引的定义为:索引是帮助MySQL高效获取数据的数据结构。即可以...
  • java连接数据库实现添加、修改、查询功能

    千次阅读 多人点赞 2019-06-09 23:55:40
    一、题目:使用java语言连接数据库完成简单的查询、修改、添加功能 二、源代码: import java.util.Scanner; import java.sql.SQLException; import java.sql.Statement; import java.sql.Connection; import ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 411,333
精华内容 164,533
关键字:

如何在查询中添加计算