数据统计?

jwdream2008 2010-12-02 04:50:51
原始数据格式如下:

客户编号 单据号 货物编码 发货标志(0:未发货;1:已发货)
C01 D01 H01 0
C01 D02 H01 1
C01 D02 H02 1
C01 D02 H02 1
C01 D03 H01 0


希望结果:
客户编号 单据数 货物种类 发货标志(0:未发货;1:已发货)
C01 2 1 0
C01 1 2 1
--说明:单据数:根据单据号统计
货物种类:根据货物编码统计,相同的货物编码算作一个货物种类
请大侠帮忙?
...全文
96 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
jwdream2008 2010-12-02
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 coleling 的回复:]
SQL code

create table tb(客户编号 varchar(10), 单据号 varchar(10), 货物编码 varchar(10), 发货标志 int)
insert tb select 'C01', 'D01', 'H01', 0
insert tb select 'C01', 'D02', 'H01', 1
insert tb select……
[/Quote]
真是迷糊了,,,哈哈哈,,,,!结贴给分!
jwdream2008 2010-12-02
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zsh0809 的回复:]
分组一下不就好了么?
[/Quote]
真是迷糊了,,,哈哈哈,,,,!结贴!
dingdot 2010-12-02
  • 打赏
  • 举报
回复
读不懂题目~
「已注销」 2010-12-02
  • 打赏
  • 举报
回复
分组一下不就好了么?
jwdream2008 2010-12-02
  • 打赏
  • 举报
回复
coleling 2010-12-02
  • 打赏
  • 举报
回复

create table tb(客户编号 varchar(10), 单据号 varchar(10), 货物编码 varchar(10), 发货标志 int)
insert tb select 'C01', 'D01', 'H01', 0
insert tb select 'C01', 'D02', 'H01', 1
insert tb select 'C01', 'D02', 'H02', 1
insert tb select 'C01', 'D02', 'H02', 1
insert tb select 'C01', 'D03', 'H01', 0

select 客户编号, 单据数= count(distinct 单据号), 货物种类 = count(distinct 货物编码),发货标志
from tb group by 客户编号,发货标志

/*
客户编号 单据数 货物种类 发货标志
---------- ----------- ----------- -----------
C01 2 1 0
C01 1 2 1

(2 行受影响)
*/
王向飞 2010-12-02
  • 打赏
  • 举报
回复
哦 不对
王向飞 2010-12-02
  • 打赏
  • 举报
回复

--> 数据库版本:
--> Microsoft SQL Server 2008 (RTM) - 10.0.1600.22
--> 测试数据:sellRecord
IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'sellRecord')
AND type in (N'U'))
DROP TABLE sellRecord
GO

---->建表
create table sellRecord([客户编号] varchar(3),[单据号] varchar(3),[货物编码] varchar(3),[发货标志(0:未发货;1:已发货)] int)
insert sellRecord
select 'C01','D01','H01',0 union all
select 'C01','D02','H01',1 union all
select 'C01','D02','H02',1 union all
select 'C01','D02','H02',1 union all
select 'C01','D03','H01',0
GO



--> 查询结果
SELECT 客户编号, count(单据号),count(货物编码),[发货标志(0:未发货;1:已发货)]
FROM sellRecord
group by 客户编号,[发货标志(0:未发货;1:已发货)]
--> 删除表格
--DROP TABLE sellRecord

jwdream2008 2010-12-02
  • 打赏
  • 举报
回复
大牛们,来帮帮忙吧·1
jwdream2008 2010-12-02
  • 打赏
  • 举报
回复
yhtapmys 2010-12-02
  • 打赏
  • 举报
回复
仰望星星 等大侠

22,301

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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