VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1033|回复: 8

SQL小问题

[复制链接]

3

主题

10

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
发表于 2020-2-21 11:00:02 | 显示全部楼层 |阅读模式
得到:
ID     产品ID    时间    v1    v2    v3   v4   sums
1      1001      17:10    0     0    0     0     0
2      1002      17:20    1     0    1     0     2
3      1003      17:30    0     1    0     0     1
4      1004      17:40    0     0    1     0     1
5      1005      17:50    0     1    0     0     0
sums     5                1     2    2     0     AA

AA=3,如果AA是sums!=0的和,怎么做??
回复

使用道具 举报

0

主题

49

帖子

35.00

积分

新手上路

Rank: 1

积分
35.00
发表于 2020-4-29 20:45:01 | 显示全部楼层
最后一句什么意思?
回复

使用道具 举报

3

主题

10

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
 楼主| 发表于 2020-4-30 02:45:01 | 显示全部楼层
最后一项是求  sums不等0的项的个数
回复

使用道具 举报

0

主题

88

帖子

55.00

积分

新手上路

Rank: 1

积分
55.00
发表于 2020-4-30 08:30:01 | 显示全部楼层
create table T(ID int, 产品ID char(4), 时间 char(5), v1 int, v2 int, v3 int, v4 int, sums int)
insert T select 1,      '1001',      '17:10',    0,     0,    0,     0,     0
union all select 2,      '1002',      '17:20',    1,     0,    1,     0,     2
union all select 3,      '1003',      '17:30',    0,     1,    0,     0,     1
union all select 4,      '1004',      '17:40',    0,     0,    1,     0,     1
union all select 5,      '1005',      '17:50',    0,     1,    0,     0,     1

select ID=rtrim(ID), 产品ID,'' 时间, rtrim(v1), rtrim(v2), rtrim(v3), rtrim(v4), rtrim(sums) sums from T
union all
select 'sums', count(*), '', rtrim(sum(v1)), rtrim(sum(v2)), rtrim(sum(v3)), rtrim(sum(v4)), 'AA' sums from T
回复

使用道具 举报

0

主题

114

帖子

69.00

积分

新手上路

Rank: 1

积分
69.00
发表于 2020-4-30 11:15:02 | 显示全部楼层
select id=sums,产品ID=count(产品ID), 时间='',v1=sum(v1),v2 =sum(v2),v3=sum(v3),v4 =sum(v4),  sums=sum(sums) from tablename
回复

使用道具 举报

0

主题

114

帖子

69.00

积分

新手上路

Rank: 1

积分
69.00
发表于 2020-4-30 12:30:01 | 显示全部楼层
select id=sums,产品ID=count(产品ID), 时间='',v1=sum(v1),v2 =sum(v2),v3=sum(v3),v4 =sum(v4),  sums=sum(case when sums<>0 then 1 else 0 end) from tablename
回复

使用道具 举报

0

主题

49

帖子

35.00

积分

新手上路

Rank: 1

积分
35.00
发表于 2020-4-30 13:15:01 | 显示全部楼层
sum(case sums when 0 then 0 else 1 end) as AA
回复

使用道具 举报

3

主题

10

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
 楼主| 发表于 2020-5-1 22:45:01 | 显示全部楼层
谢谢各位,问题已解决
回复

使用道具 举报

0

主题

40

帖子

29.00

积分

新手上路

Rank: 1

积分
29.00
发表于 2020-5-2 15:00:01 | 显示全部楼层
select ID=rtrim(ID), 产品ID,时间, rtrim(v1), rtrim(v2), rtrim(v3), rtrim(v4), rtrim(sums) sums from #t
union all
select 'sums', count(*), '', rtrim(sum(v1)), rtrim(sum(v2)), rtrim(sum(v3)), rtrim(sum(v4)), sum(sums) sums from #t
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表