kettle如何将MongoDB数据分组并计算每组的数量 5C

kettle如何将MongoDB数据分组并计算每组的数量,比如现在有test01,test02,两个属性,将这两个赛选出来分组并计算出现的次数

2个回答

之前工作中用mongodb的时候搞过你这样的场景,怕忘记,所以写了一个帖子做记录,希望能对你有帮助http://c.raqsoft.com.cn/article/1545622988691?r=sln

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
分组计算数量并取每组的最小时间。
按itemcc分组计算数量,并且要获取每组的最小时间。rnrn[code=SQL]rncreate table aa (datetime date,itemcc)rnrninsert into aa(datetime,itemcc) values(to_date('2011-3-22 12:00:01','YYYY-MM-DD HH24:MI:SS'),1);rninsert into aa(datetime,itemcc) values(to_date('2011-3-22 12:00:02','YYYY-MM-DD HH24:MI:SS'),1);rninsert into aa(datetime,itemcc) values(to_date('2011-3-22 12:00:03','YYYY-MM-DD HH24:MI:SS'),1);rninsert into aa(datetime,itemcc) values(to_date('2011-3-22 12:00:11','YYYY-MM-DD HH24:MI:SS'),2);rninsert into aa(datetime,itemcc) values(to_date('2011-3-22 12:00:12','YYYY-MM-DD HH24:MI:SS'),2);rninsert into aa(datetime,itemcc) values(to_date('2011-3-22 12:00:40','YYYY-MM-DD HH24:MI:SS'),3);rninsert into aa(datetime,itemcc) values(to_date('2011-3-22 12:00:41','YYYY-MM-DD HH24:MI:SS'),3);rninsert into aa(datetime,itemcc) values(to_date('2011-3-22 12:00:42','YYYY-MM-DD HH24:MI:SS'),3);rninsert into aa(datetime,itemcc) values(to_date('2011-3-22 12:00:43','YYYY-MM-DD HH24:MI:SS'),3);rn[/code]rnrn期望结果:rncount(*),itcc,timern3 1 2011-3-22 12:00:01rn2 2 2011-3-22 12:00:11rn4 3 2011-3-22 12:00:40rnrnrn
按照 时间/数量 分组并计算的问题
有一个表TrnID Name Status Timern自增长 名称(可能重复) P或者F(表示PASS或者FAIL) datetime,精确到秒rnrn现我想做2个REPORT。rn1.选则一定量的记录(比如1000个),时间排序后,按照时间间隔(比如20分钟(可变)一个单位),计算P和F的数量。rn2.选则一定量的记录(比如1000个),时间排序后,按照数量间隔(比如50个记录(可变)一个单位),计算P和F的数量。rn即最终得到的格式如下rn间隔 Pass Failrn间隔1 10 2rn间隔2 21 2rn...rn希望是一个SP,其中时间间隔和数量间隔是可变参数。不知道我表诉清楚了没有,分可以再加没关系的。
请问如何统计分组后每组的数量?
请问如何统计分组后每组的数量?rn
sql语句:查询分组统计并计算每组数量
select phone,count(order_id) as c from table_record group by phone order by c desc
如何将数据分组并只取每组前N条
表结构rnA月份   B姓名 C工资  rn200801   张三   1000.00rn200801   李四   1500.00rn200801   王五   1300.00rn200802   张三   1050.00rn200802   李四   1600.00rn200802   王五   1380.00rn200802   赵六   1300.00rn200803.....rn200804.....rnrn现要统计每个月工资排列前N位的记录,希望一条语句搞定,谢谢!!rn
使用Kettle抽取MongoDB数据到Oracle
使用Kettle抽取MongoDB的数据到Oracle数据等关系型数据库中还是比较简单的,因为Mongo中存储的都是json格式的数据,所以取出数据后按照json的格式拆分出来就行啦。 整体流程图: 1.获取MongoDB数据,各个选项卡填入对应的值即可: 2.字段选择,获取到的字段并不是都需要的,最好加上字段选择,只选择需要的字段 3.表输出,即可连接数据库,按照对应的映
mongoDB数据计算如何?
mongodb门外汉。rnrn想了解一下mongodb计算性能如何,比如关系型数据库中group,sum,count,这种语句的执行性能,数据量在几十万左右,多谢各位。
kettle抽取mongodb数据,查询条件为object类型
MongoDB中user_org格式为: 查询时,
Kettle 的分组操作
用的久了之后返现Kettle中很多组件会存在迷惑的地方: 今天记录一下实验的KEttle中分组插件的使用情况 首先我们先看一下此次分组的对象是什么我们想要对本月办理的证照个数,以ROJECTID来进行分组,被记录个数的字段是Entery_into_force_date 看一下我们分组组件的配置情况 由此我们可以发现,分组字段使我们的被操作的上一个级别。在举个的标签栏中不需要重复操作项目...
数据及库如何计算每个分组的数量_分组求和
数据及库如何计算每个分组的数量_分组求和 select DISTINCT(diqu), count(diqu) as 人数 from hngwysf WHERE diqu like ‘%河南%’ GROUP BY(diqu) ORDER BY 人数 DESC
mysql 分组且每组分页
CREATE TABLE `mygoods` ( `goods_id` int(11) unsigned NOT NULL AUTO_INCREMENT, `cat_id` int(11) NOT NULL DEFAULT '0', `price` tinyint(3) NOT NULL DEFAULT '0', `status` tinyint(3) DEFAULT
kettle中的分组的作用
1、分组在统计模块中 2、分组可以按照某一个或某几个进行分组,同时可以将其余字段按照某种规则进行合并
ext4.0 表格分组和分组数量
关于表格分组网上有很多很多答案,不过都不怎么符合自己要用的,只能说思想一样,在这里我记录下怎么在ext mvc下在原有的代码添加 分组代码并且统计根据分组列的数量。其实代码挺简单,还有这里有个问题未解决后面解决了会加上:就是默认是有序号的即{ header: '序号', xtype: 'rownumberer', width: 60, align: 'center', sortable: fal
在分组dw中,每组的行号如何从1开始计算
在分组dw中,每组的行号如何从1开始计算
如何计算分组后每组中的打印页数
不知道问题表述得是不是明白。是这样的,在数据窗口中,可以使用sum( )来计算一个分组中的合计值,但打印的时候,我想计算一个分组中会打印出多少页的纸张,这个有什么函数能直接计算出来?比如,我一个主从表的打印,如果只选择一个主表的记录来进行打印,这时候使用Page()与PageCont()函数计算出来的打印页数是正确的,但如果选择多条主表进行打印,如何计算出一条主表记录会打印出多少页的纸张?
如何用HQL分组并排序后获得每组前十名
如题rnrnQuery.setMaxResults(int);//只能设置最多总数rn但我想获得每组前十,rn比如多种不同的商品根据商品类型分组,根据每种商品购买量或客户评价排序之后,得到每类商品排名前十的商品。rnrn假设共三类商品,每类100种,如何获得这三类商品的各前十名
对表中的记录分组,并求每组所占百分比
有人做过对一个表中的记录分组,并求每组所占百分比的需求吗。rnrn这个我的SQL语句,该SQL语句包含一个子查询,子查询对dns_messages表中满足过滤条件的记录通过hostname进行分组,计算每组的个数,并进行排序,然后主体部分把从子查询部分获取的结果(即每个分组的名字hostname和每个分组的个数nums)作为一个表tt,从中获取在分组的个数nums大于1000的记录中,从索引2开始起的10个记录rnrn[code=sql]select * from (select hostname, count(*) as nums from dns_messages where capture_date >= "1991-01-01 00:00:00" and capture_date <= "2020-01-01 00:00:00" group by hostname order by nums desc, hostname desc) as tt where nums >= 1000 limit 2,10[/code]rnrn现在的需求就是计算上述sql语句获取的10个记录中,每个分组的个数所占的百分比nums/sum。这个百分比的基数sum可以用如下的SQL语句表示,即上述SQL语句中的子查询部分获取的所有的分组的nums的和rn[code=sql]select sum(nums) from (select hostname, count(*) as nums from dns_messages where capture_date >= "1991-01-01 00:00:00" and capture_date <= "2020-01-01 00:00:00" group by hostname order by nums desc, hostname desc) as tt[/code] rnrn我现在的疑问就是怎样在一条SQL语句中即获取分组,分组的个数,又获取百分比,难道要这样写rn[code=sql]select hostname, nums, nums/sums, sums from (select hostname, count(*) as nums from dns_messages where capture_date >= "1991-01-01 00:00:00" and capture_date <= "2020-01-01 00:00:00" group by hostname order by nums desc, hostname desc) as tt, (select count(*) as sums from dns_messages where capture_date >= "1991-01-01 00:00:00" and capture_date <= "2020-01-01 00:00:00") as dd where nums >= 1000 limit 2,10[/code]rn有其他方法吗?
对数据进行分组并取每组的最新数据
需求:取出每种checkunit中,sampledate时间为最新的一条的数据(日期并列相同会取其一) 表:test sql: SELECT temp.* FROM ( SELECT *, Row_Number () OVER ( partition BY checkunit ORDER BY sampledate DESC ) AS rank ...
sql分组并提取每组的前一条,按照时间排序
select * from ( select row_number() over(partition by '分组' order by '日期') as rownum -- 排序并分组 , * -- 所需显示的字段 from 表 ) as T where T.rownum = 1 对每组的数...
Kettle记录集合RowSet数量
kettle步骤通信kettle调优中有个重要的参数:记录集合里面的记录数。该数量是指组件与组件之间通信的【缓存队列】的size大小,Kettle内部用List实现该缓存队列,每一条语句都会被封装成一个 RowSet对象,如下图所示,每个组件之间都会有个List&amp;lt;RowSet&amp;gt;队列,源step每次会往该队列写一条数据,目标step每次会从队列读取一条数据。影响kettle里面转换是并行...
数量计算
怎么计算一年来同一订单每月的总数量:rn订单号 月份 数量rn a 1 100rn b 1 500rn a 2 200rn a 1 300rn显示结果:rn 订单号 月份 总数量rn a 1 400rn b 1 500rn a 2 200
SQL 分组合并数量
有张表分组查询rna 10rnb 20rnc 10rnrn我想把c合并到a中rn显示为rna 20rnb 20rnrn如何??谢谢。
并发下线程池的最佳数量计算
原文地址:https://blog.csdn.net/qq_34417408/article/details/78895573
oracle 统计分组数量
表Arnoperator1 operator2 operator3 numrn111 222 333 10rn222 111 444 20rn222 333 444 30rnrn现在想要统计出每个operator的num的和,即rn111:(10 + 20) = 30;rn222:(10 + 20 + 30) = 60;rn333:(10 + 30) = 40;rn444:(20 + 30) = 50;rnrn查询出来的结果为rnoperator countrn111 30rn222 60rn333 40rn444 50rnrn在线等, 谢谢了...
按条件进行分组,并计算值!!!!
小弟这样的一个问题?rnrn[code=SQL]rnselect b.CardCode,a.JDT1_CreatedBy,a.JDT1_TransType,a.JDT1_LineNumber,a.Debit from ixvJDT1Fact a,ocrd b wherernb.CardCode=a.ContraAct and a.ContraAct='C04079' and a.JDT1_TransType=30 rnorder by a.ContraAct,a.ShortName,a.JDT1_TransType,a.JDT1_CreatedBy ascrn[/code]rn查来结果为rn[code=HTML]rnCardCode JDT1_CreatedBy JDT1_TransType JDT1_LineNumber DebitrnC04079 10259 30 1 50rnC04079 11091 30 0 50rnC04079 8208 30 2 100rnC04079 8208 30 3 100rnC04079 8209 30 2 200rnC04079 8209 30 3 200rn[/code]rn我想问的是, rn第一行和第二行的“JDT1_LineNumber”分别为 [color=#FF0000]1[/color],[color=#FF0000]0[/color] 但是“JDT1_CreatedBy”值[color=#FF0000]不相同[/color],将Debit中值相减;rn条件:JDT1_LineNumber相邻两行的值分别为1,0 但JDT1_CreatedBy的值是一定不能相同的rnrnrn第三行和第四行的“JDT1_LineNumber”分别为 [color=#FF0000]2[/color],[color=#FF0000]3[/color] 但是“JDT1_CreatedBy”值[color=#FF0000]相同[/color],将Debit中值相加rn条件:JDT1_LineNumber相邻两行的值分别为2,3 但JDT1_CreatedBy的值是一定要能相同的rnrnrn这个SQL的查询语句要怎么写呢?????rn或者是将这个查出来后,分为几组,之类,rn帮帮忙!!
日期和数量 根据数量合并分组
$arr = array( 0=>array('rental_date'=>'2016-11-27','rental'=>'1'), 1=>array('rental_date'=>'2016-11-28','rental'=>'2'), 2=>array('rental_date'=>'2016-11-29','rental'=>'10000'), 3=>arra
如何取得分组后,每组的第一条纪录
使用Group By 分组后,如何取得每组的第一条纪录
表中数据分组,每组读8条
表中数据分组,每组读8条rn有没有哪位兄弟会搞?
vb 随机数分组,每组不重复
'1.实现随机产生的数字rn'2.随机产生的数字不能重复rn'3.根据输入的数字判断分多少个组rn'4.每组随机产生的数字不能重复rn'5.根据输入的数字判断每组产生多少个随机数rn'6.用户可输入数字作为判断基数rn'rn'rn'rn'以下是我的代码,不能实现,麻烦高手帮帮忙rnrnrnrnPrivate Sub Command1_Click()rnDim a(20) As Integer, b(20) As Integer, c(1 To 6) As Integer, d(1 To 7) As IntegerrnDim change As Integer, zu As Integer, num As Integerrnnum = CInt(Text1.Text)rnIf num < 30 Then Label2(1).Caption = "至少30人"rnIf num >= 30 ThenrnIf num Mod 6 = 0 Thenrnzu = 6rnLabel2(1).Caption = "共分" & zu & "个组"rnLabel17.Caption = ""rnLabel10.Caption = ""rnEnd IfrnIf num Mod 6 <> 0 Thenrnzu = 7rnLabel2(1).Caption = "共分" & zu & "个组"rnEnd IfrnEnd IfrnDim mrs As Integerrn'If zu = 6 Thenrnmrs = num / 6rnRandomize '初始化随机数rnFor i = 1 To mrsrn1rn'ReDim a(i)rn'Dim crn'c = num - 1rna(i) = Int(Rnd * num + 1) '生成1-num的随机数rnFor j = 1 To i - 1 '把a(i) 跟a(i)前的数相比rnIf a(i) = a(j) Then GoTo 1 '如相同则重新赋值rnNext jrnNext irn'按降序排列rnFor i = 1 To mrsrnFor j = 1 To irnIf a(i) < a(j) Then '把a(i)和后面的数比rnchange = a(i) '发现有大的则交换rna(i) = a(j)rna(j) = changernEnd IfrnNext jrnNext irnLabel4.Caption = ""rnFor i = 1 To mrsrnLabel4.Caption = Label4.Caption & a(i) & Chr(13)rnNext irn'ReDim b(i)rn'Dim nu As Integerrn'For i = 1 To numrn'a(nu) = irn'Next irn'b(nu) = a(nu) - a(i)rnrnrnEnd SubrnrnPrivate Sub Form_Load()rnTimer1.Interval = 1000rnTimer1.Enabled = TruernEnd SubrnrnrnPrivate Sub Timer1_Timer()rnLabel3.Caption = Format(Now, "YYYY年MM月DD日") & Chr(13) & Chr(13) & Format(Now, "AMPM(hh:mm:ss)")rnEnd Sub
Mongo分组取每组最大的一条记录
使用Spring-data-mongo统计每个班级最高成绩 Criteria criteria = Criteria.where("classId").in(classIds); GroupOperation groupOperation = Aggregation.group("classId").max("score").as("score"); Aggreg
oracle 分组后取每组第一条数据
因为项目中需要将结果集中的相同分组中的数据在组内排序然后再分别取出每个分组的第一条记录,所以研究了下 ROW_NUMBER() OVER(PARTITION BY x ORDER BY y DESC) 主要思路就是根据不同分组创建一个字段进行组内排序,PARTITION BY 是按照某字段分组,例子如下: 数据格式 分组取第一条的效果 sql  
SQL分组排序,取每组最新的值
给定需求1:将数据表中的数据分组并排序,并且每组数据要显示序号。 SELECT ROW_NUMBER () OVER ( PARTITION BY YEAR_INFO, ITEM_NUMBER, VENDOR_CODE, BASE_ORG, PRICE_DATE_START, PRICE_DATE_END ORDER BY CREATED_AT DESC ) rn...
sqlite 分组后获取每组的第一条记录
有表如下 CREATE TABLE test ( id INTEGER PRIMARY KEY ,groupid INTEGER DEFAULT 0 ,t INTEGER DEFAULT 0 ,x INTEGER DEFAULT 0 ,y INTEGER DEFAULT 0 ) 内容 REPLACE INTO test (id,groupid, t ,x,y) select 1,1,100,8,...
LEFT JOIN 分组每组排序后的第一条
设定: 合同表:A 唯一标识为ID,每个合同一个ID 流程表:B 无唯一标识,合同审批流程每一步都生成一条 AppO_Values:对应合同表的ID, App_Order: 对应审批步骤, UserID: 审批人ID 需求 查询出所有合同表,及当前审批人 思路 SELECT * A 然后 LEFT JOIN 流程表 问题 每个合同查询出多条记录 解决办法...
分组,使得每组元素和不为0
One spring day on his way to university Lesha found an array A. Lesha likes to split arrays into several parts. This time Lesha decided to split the array A into several, possibly one, new arrays so
oracle 先分组后获取每组最大值
用户每次登陆都会向表中插入一个登录日期,现在需要获取最近N位登录的用户及登陆时间, 因此现根据用户进行分组,然后在求出每组中最大的日期SELECT
mysql分组取每组前几条记录
SELECT         *     FROM         video a      LEFT JOIN         video b              ON a.colunm=b.colunm              AND a.id     WHERE         a.category='我们'      GROUP BY         a.id
分组排序,取每组前五条记录
[code=SQL]rn--对表进行分组查询,在组内就进行排序,并且取得每组前5条记录. 还要获得每组使用其它条件查询时候的总记录数rn--如:rn--字段Key为int型.rnselect * from TableName where Word='FQ' and UserName='张三' group by Key order by ID descrnUNION ALLrnselect * from TableName where Word='FQ' and UserName='李四' group by Key order by ID descrnUNION ALLrnselect * from TableName where Word='FQ' and UserName='王五' group by Key order by ID descrn--这里只是分组了,我还要获得每组(条件Word='FQ')的记录总数rnselect count(ID) from TableName where Word='FQ'rnrn---------------------------------------------------------rn--上面的SQL是我的个人试想,实际运行是报错的.rn-- 最后返回记录集.组程序中DataSetrn----------------------------------------------------------rn[/code]
分组后再将每组的列的值连接起来
原表的结构和内容假设如下:rnsid site rn---- ---- rn11 s0rn11 s1rn11 s2rn12 s0rn12 s2rn13 s1rnrn我想要得到这样的结果:rnsid site rn---- ---- rn11 s0 s1 s2rn12 s0 s2rn13 s1rnrn即根据sid分组,然后将每个分组的site连起来
两字段分组如何限定分组数量
需求描述:rn1.按两个字段(国家、城市)分组,并统计每个分组的记录数,按记录数递减排序。已实现。rnselect *, count(*) as citynum from tablename group by country, city order by citynum descrn2.同一国家,不同城市,只列出2个citynum最大的城市分组。结果类似于:rn中国,北京,12rn中国,上海,9rn美国,纽约,29rn美国,华盛顿,11rn德国,……
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件