CAML query for Group by count and data

Company Category Product Name
Microsoft Developer Visual Studio
Microsoft Consumer Windows
Microsoft Enterprise SharePoint 2010
Microsoft Mobile Windows 7
Samsung Consumer Laptops
Samsung Consumer Mobiles
Samsung Consumer Tablet
Google Consumer Search Engine
Google Consumer Google Maps

The above is my SharePoint List, I want to group by company’s name and then count the number of rows for each grouped by data and also display only chunk of data that is grouped.

Company – Microsoft – 4 count

Microsoft Developer Visual Studio
Microsoft Consumer Windows
Microsoft Enterprise SharePoint 2010
Microsoft Mobile Windows 7

Company – Samsung – 3 count

Samsung Consumer Laptops
Samsung Consumer Mobiles
Samsung Consumer Tablet

Company – Google – 2 count

Google Consumer Search Engine
Google Consumer Google Maps

My  Solution – using CAML query LINQ

using (SPSite site = new SPSite(“http://server“))

{

SPWeb web = site.OpenWeb();

SPList listCAMLQuery = web.Lists["listName"];

SPQuery query = new SPQuery(); // query for all the items

DataTable dt = listCAMLQuery.GetItems(query).GetDataTable(); // get datatable for all the list items

if (dt != null && dt.Rows.Count > )

{

//Group the data

var groupedList = from row in dt.AsEnumerable()

group row by row.Field<string>(“Company”) into groupedTable

// Company is the column name for groupby

// string is the type of column

orderby groupedTable.Key // key is the groupby column category value

select new

{

Key = groupedTable.Key, // key is the groupby column category value

companyCount = groupedTable.Count(), // count for columns in a groupby

groupedRows = groupedTable.CopyToDataTable() // grouped data

};

// print result

foreach (var items in groupedList)

{

int count = items.companyCount; // count for columns in a groupby category

DataTable dt1 = items.groupedRows;

gv.DataSource = dt1; //gridview

gv.DataBind();

}

}

}

}

CAML query for Group by count and data的更多相关文章

  1. MongoDB学习笔记——聚合操作之group,distinct,count

    单独的聚合命令(group,distinct,count) 单独聚合命令 比aggregate性能低,比Map-reduce灵活度低:但是可以节省几行javascript代码,后面那句话我自己加的,哈 ...

  2. 解决postgresql -- ERROR: 42601: query has no destination for result data

    I am learning Npgsql and PostgreSQL. I am unable to define the output parameter correctly. What am I ...

  3. mysql查询出现In aggregated query without GROUP BY, expression #1 of SELECT list contains nonaggregated column 'zhibo.a.id';

    出现问题: Error querying database.  Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: In ...

  4. mysql5.7执行sql语句报错:In aggregated query without GROUP BY, expression #1 of SELECT list contains nonagg

    mysql5.7执行sql语句报错:In aggregated query without GROUP BY, expression #1 of SELECT list contains nonagg ...

  5. Group By Count不能显示0的问题

    问题: 如对表: /*==================================================== id |score |grade ------------------- ...

  6. SQL-7查找薪水涨幅超过15次的员工号emp_no以及其对应的涨幅次数t (group 与count)

    题目描述 查找薪水涨幅超过15次的员工号emp_no以及其对应的涨幅次数tCREATE TABLE `salaries` (`emp_no` int(11) NOT NULL,`salary` int ...

  7. SharePoint CAML Query小结

    CAML的结构. <View Type="HTML" Name="Summary"> <ViewBody ExpandXML="TR ...

  8. MySql 错误:In aggregated query without GROUP BY, expression #1 of SELECT list contains....

    前段时间做sql注入的时候  使用group_concat时,出现标题上的错误.经查阅一位大佬的博客,成功解决!故写此博文! 当mysql的sql_mode是only_full_group_by的时候 ...

  9. SharePoint Caml Query 使用

    需要注意的是: 再使用ListQueryWebPart部件时,默认查看的list列表会出现乱码的情况,需要开启服务器呈现模式,如图: 特此记录一下

随机推荐

  1. 新購電腦筆記 - G1.Sniper B7 內建網路晶片在 Mint 17.2(Cinnamon)上無法使用(已解決)

    又好久沒寫文章了,這次因新購電腦,有一些狀況,故做一下記錄,也分享給遇到同樣問題的格友 以前在公司裝 Ubuntu 從沒遇過這麼多問題,這次自己第一次組電腦,也第一次裝 Mint,問題倒是不少 第一個 ...

  2. Modules-nodejs

    Modules Node有一个简易的模块加载系统.在node中,文件和模块是一一对应的.下面示例是foo.js加载同一目录下的circle.js. foo.js的内容: var circle = re ...

  3. Windows Azure下如何安装 MongoDb

    MongoDB 是一种受欢迎的高性能 NoSQL 开源数据库.使用 Windows Azure管理门户,您可从映像库创建运行 CentOS Linux 的虚拟机.然后,您可以在该虚拟机上安装和配置 M ...

  4. redis的hashes类型

    redis hash 是一个string类型的field和value 的映射表.它的添加.删除操作都是O(1) . hash特别适合用于存储对象.相较于将对象的每个字段存成单个string类型 . 将 ...

  5. JAVA基础----java中E,T,?的区别

    遇到<A>,<B>,<K,V>等,是用到了java中的泛型. 一般使用<T>来声明类型持有者名称,自定义泛型类时,类持有者名称可以使用T(Type) 如 ...

  6. Java邮件服务学习之一:邮件服务概述

    java可以提供邮件服务:一般理解的邮件服务就是可以发送和接收邮件的客户端,另外就是使用java编写邮件服务端:两者区别在于客户端只负责给终端客户收发邮件,就相当于小区楼下的那一排排的铁皮邮箱盒,而邮 ...

  7. Red5源代码分析 - 关键类及其初始化过程

    原文地址:http://semi-sleep.javaeye.com/blog/348768 Red5如何响应rmpt的请求,中间涉及哪些关键类? 响应请求的流程如下: 1.Red5在启动时会调用RT ...

  8. POJ 1251 && HDU 1301 Jungle Roads (最小生成树)

    Jungle Roads 题目链接: http://acm.hust.edu.cn/vjudge/contest/124434#problem/A http://acm.hust.edu.cn/vju ...

  9. cannot load such file -- openssl

    [test@localhost usr]$ /usr/local/ruby/bin/gem install bundler ERROR: Loading command: install (LoadE ...

  10. ASP.NET Web Api返回对象类型为JSON还是XML

    在Umbraco平台上开发过程中,我用WebApi返回JSON result给前端 前端使用React调用这个web api来获取JSON result 我写的web api方法是返回JSON 类型的 ...