数据表products结构如下:
id name userid
001 兔子 23
002 小狗 23
005 驴 21
008 大象 23
009 老虎 24
如图 这样的数据;
我想每个用户 只取第一条数据;但是要要现实 这个用户有几个商品;
想得到这样的结果:
id name userid count
001 兔子 23 3
005 驴 21 1
009 老虎 24 1
有什么办法吗??
------解决方案--------------------------------------------------------
var list = from dr in dt.AsEnumerable()
group dr by dr.Field<string>("userid") into g
select new { userid=g.Key,count=g.Count(),firstItem=g.First()};
------解决方案--------------------------------------------------------
var s = from temp in dc.Class1 group temp by temp.userid into g select new { id = g.First().id, name = g.First().name, userid = g.Key ,count = g.Count() };
------解决方案--------------------------------------------------------
这个是group by 效果的。
上网随便一搜就找到答案。
var q =
from p in db.Products
group p by p.CategoryID into g
select new {
g.Key,
Total = g.Count(p => p.UnitPrice)
};
------解决方案--------------------------------------------------------
- C# code
var list = from dr in dt.AsEnumerable() group dr by dr.Field<string>("userid") into g select new { userid=g.Key,count=g.Count(),productlist=g.FirstOrDefault()};