分组统计的问题

liuyjcel 2011-05-24 05:34:25
tab表的结构如下:
公司 单据号 采购类型 采购员 物资名称 数量
公司一 002 采购 张三 电脑 10
公司一 002 采购 张三 打印机 2
公司三 003 采购 李四 打印纸 20
公司四 004 采购 王五 电脑 2

我想统计后的结果如下:

物资名称 采购次数(根据单据号) 物资项数(统计物资)
公司一 1 2
公司三 1 1
公司四 1 1
...全文
70 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
liuyjcel 2011-06-09
  • 打赏
  • 举报
回复
3Q..
子夜__ 2011-05-24
  • 打赏
  • 举报
回复
var result = from r in dt_info.AsEnumerable()
group r by r.Field<string>(0) into g
select new { company = g.Select(R => R.Field<string>(0)),
C_Count = g.Select(R => R.Field<string>(1)).GroupBy(I => I).Count(),
c_c = g.Select(R => R.Field<string>(4)).GroupBy(I => I).Count() };
HDNGO 2011-05-24
  • 打赏
  • 举报
回复

create table #Tmp
(
cn varchar(50),
num varchar(50),
pname varchar(50)
)

insert into #Tmp values('aa','001','x')
insert into #Tmp values('aa','001','y')
insert into #Tmp values('aa','005','y')
insert into #Tmp values('bb','002','x')
insert into #Tmp values('cc','003','x')


select cn,count(distinct(num)),COUNT(cn) as c
from #Tmp
group by cn

drop table #Tmp
gablfq 2011-05-24
  • 打赏
  • 举报
回复
SELECT 公司,COUNT(DISTINCT(单据号)) AS 采购次数,COUNT(物资名称) AS 物资项数
FROM tab GROUP BY 公司 ORDER BY COUNT(物资名称) DESC
bdmh 2011-05-24
  • 打赏
  • 举报
回复
group by + count
liuyjcel 2011-05-24
  • 打赏
  • 举报
回复
公司一 只有一张采购单,但有两项物资,所以为2
liuyjcel 2011-05-24
  • 打赏
  • 举报
回复
就是物资项数。。
HDNGO 2011-05-24
  • 打赏
  • 举报
回复
统计物资的2是啥意思

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧