2 u013572569 u013572569 于 2015.07.23 18:17 提问

C++如何实现多列数据筛选?

请教下各位高手,SQL中group by 功能用C++如何实现啊?
小弟想做的是多列数据筛选的功能,比如一个结构体中包含成员A,B,C,从一个结构体数组中筛选出A,B,C不完全相同的数据,非常谢谢!

5个回答

CSDNXIAON
CSDNXIAON   2015.07.23 18:20

JSTL版的数据多列显示
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

oyljerry
oyljerry   Ds   Rxr 2015.07.23 18:47

把结构体放到一个std list中,然后遍历list,获取对应字段,基于A,B,C分别再放到不同的3个list中,这样就group出来了

u013572569
u013572569 OK,谢谢你的指点,我试下!
接近 3 年之前 回复
oyljerry
oyljerry 回复andy当我遇上你: 你这个还是可以用kist过滤,只不过多加一些判断条件
接近 3 年之前 回复
u013572569
u013572569 回复oyljerry:比如: struct student stu[5] = {{0,25,2},{0,24,2},{1,25,2},{1,25,2},{1,25,3}}; ;}我想同时group by(sex,age,class)三个字段,这样SQL group by出来的只得到4个结构体{0,25,2},{0,24,2},{1,25,2},{1,25,3},能实现这样的效果吗?
接近 3 年之前 回复
u013572569
u013572569 回复oyljerry: 这样好像只能group单个成员 struct student { int sex; int age; int class; }; void main() { struct student stu[5];}我想同时group by(sex,age,class)三个字段,刚才发两条按错了,以这个为准!!谢谢
接近 3 年之前 回复
u013572569
u013572569 回复oyljerry: 这样好像只能group单个成员 struct student { int sex; int age; int class; float score1,score2,sum,average; }; void main() { struct student stu[5];
接近 3 年之前 回复
u013572569
u013572569 回复oyljerry: 这样好像只能group单个成员 struct student { int sex; int age; int class; float score1,score2,sum,average; }; void main() { struct student stu[5];
接近 3 年之前 回复
oyljerry
oyljerry 回复andy当我遇上你: 放到不同的list,这样就达到了group的目的,A的就可以只用遍历A那个list
接近 3 年之前 回复
u013572569
u013572569 嗯,谢谢你的回答,基于A,B,C分别再放到不同的3个list中,这个不太明白 ,可以详细一些吗,谢谢啦
接近 3 年之前 回复
strutce
strutce   Ds   Rxr 2015.07.23 20:44

for(int i=0;i<总数据list;i++){
if(A==list.get(i)){
listA.add{list.get(i)}
}
if(B==list.get(i)){
listB.add{list.get(i)}
}
if(C==list.get(i)){
listC.add{list.get(i)}
}
}

u013572569
u013572569 谢谢,我想实现的是 比如: struct student { int sex; int age; int class; }; struct student stu[5] = {{0,25,2},{0,24,2},{1,25,2},{1,25,2},{1,25,3}}; ;}我想同时group by(sex,age,class)三个字段,这样SQL group by出来的只得到4个结构体{0,25,2},{0,24,2},{1,25,2},{1,25,3},(注:{1,25.2} 重复了,所在只取中一个),能实现这样的效果吗?
接近 3 年之前 回复
linyang24
linyang24   2015.07.24 14:47

for(int i=0;i<总数据list;i++){
if(A==list.get(i)){
listA.add{list.get(i)}
}
if(B==list.get(i)){
listB.add{list.get(i)}
}
if(C==list.get(i)){
listC.add{list.get(i)}
}
}

u013572569
u013572569   2015.07.24 22:56

自顶一下!小弟想实现的是 比如: struct student { int sex; int age; int class; }; struct student stu[5] = {{0,25,2},{0,24,2},{1,25,2},{1,25,2},{1,25,3}}; ;}我想同时group by(sex,age,class)三个字段,这样SQL group by出来的只得到4个结构体{0,25,2},{0,24,2},{1,25,2},{1,25,3},(注:{1,25.2} 重复了,所在只取中一个)

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
mysql查询筛选出多列值同时重复的数据
例如表test: id name age 1 a 10 2 a 10 3 b 10 筛选出name和age不重复的数据 SELECT a.id,a.name,a.age FROM (SELECT t.id,t.name,t.age,CONCAT(t.name,t.age) AS is_repeat FROM test t GROUP BY t.isrepeat) a
Excel 中如何以多列数据为准则进行查询
工作中,我们经常需要在 Excel 工作表中查找某个值。数据量少时用“Find and Replace”对话框手工找还可以对付,数据量很大或者我们需要把数据分离出来看得更清楚的话,就要用筛选或公式等手段了。对于在单列或单行中查找数据,我们有很多现成的函数可用,比如 VLOOKUP,HLOOKUP,Match 和 Index 的组合。如果是比较多列,要满足两个或两个以上的条件怎么办呢?看一个具体
pandas系列之 DataFrame 行列数据筛选
对DataFrame的认知 DataFrame的本质是行(index)列(column)索引+多列数据,对dataframe数据在行列上的操作是均衡的 为了方便不妨换个思路… 行表征记录,不同的行即不同的记录; 列代表特征,不同记录因不同特征之间的差异而不同。 eg. 默认索引是序号(0,1,2…)一般我们用id标识不同记录,不会可以改变index,但为了理解不同列含义,我们会重新指定
datagridview的自动筛选
实现datagridview的自动筛选,能够按照单列或多列进行筛选
GridView多条件筛选数据
最近有一个需求,需要对gridview中的数据进行多条件塞选,比较粗糙的解决办法做了一个demo. 下面截取的部分代码中 toolName,lcs, purpose, version是根据这些数据对gridview进行塞选。 在代码中注意用linq时判断两个数是否相等最好是用”==”,如果用equals方法需小心,如果A.equals(B),A为空的话不会出现任何错误,只能调试才能发现错,
Oracle SQL使用笛卡尔连接、正则表达式和层次查询、union all、unpiovt 解决多列值筛选、列转行问题
Oracle SQL使用笛卡尔连接、正则表达式和层次查询、union all、unpiovt 解决多列值筛选、列转行问题
pandas按若干个列的组合条件筛选数据
还是用图说话 A文件: 比如,我想筛选出“设计井别”、“投产井别”、“目前井别”三列数据都相等的数据,结果如下: 当然,这里的筛选条件可以根据用户需要自由调整,代码如下: # -*- coding: utf-8 -*- """ Created on Wed Nov 29 10:46:31 2017 @author: wq """ import pandas as pd #in
pandas基础__之__对数据进行筛选和排序
pandas基础__之__对数据进行筛选和排序
强大DevExpress,Winform LookUpEdit 实现多列查询 gridview弹出下拉选择
<br />强大DevExpress,Winform LookUpEdit 实现多列查询 gridview弹出下拉选择 <br /> 关键代码请参考http://www.devexpress.com/Support/Center/p/K18333.aspx<br />最新DEMO 下载  <br />
sql查询某两列(或者多列)的值相同,的所有记录
如下表TestTable,我想查一下,A、B、C三列不相同的所有记录。 sql语句如下: select t1.* from TestTable t1 where t1.id not in( select t.id from TestTable t where t.A=t.B and t.A=t.C and  t.B=t.C )