SQL中用别名做乘法的统计

会de不多 2008-04-10 10:05:39
数据字段如下:
name beishu
01 2
01 9
02 4
02 1

统计的是name中不同序号的个数,并在统计出个数后,将别名乘以beishu
最后输出结果如下
name zongji
01 11
02 4

求高手解答,该语句怎么写?
...全文
324 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoliaoyun 2008-04-10
  • 打赏
  • 举报
回复
看看你的语句...
会de不多 2008-04-10
  • 打赏
  • 举报
回复
自己搞定了,谢谢!
fcuandy 2008-04-10
  • 打赏
  • 举报
回复
结果是:

01 11
02 5

还是

01 18
02 4

?

自己把结果贴清楚
青锋-SS 2008-04-10
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 jcifox 的回复:]
估计我的表达有失误。

其实就是把统计的是name中不同序号的个数,并在统计出个数后,将个数乘以beishu

统计个数的语句是

select name, count(name)as piaoShu from [2007dxcytp2] where beishu is not null group by name order by piaoshu desc

我是在ASP里做了piaoshu * beishu

这样做,但是有点问题,想在SQL里用语句直接执行完后做调用。
[/Quote]按你的说法,结果也不对啊.
pscdjy 2008-04-10
  • 打赏
  • 举报
回复
没看懂。 不懂你要的是什么样的结果
会de不多 2008-04-10
  • 打赏
  • 举报
回复
估计我的表达有失误。

其实就是把统计的是name中不同序号的个数,并在统计出个数后,将个数乘以beishu

统计个数的语句是

select name, count(name)as piaoShu from [2007dxcytp2] where beishu is not null group by name order by piaoshu desc

我是在ASP里做了piaoshu * beishu

这样做,但是有点问题,想在SQL里用语句直接执行完后做调用。
cson_cson 2008-04-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sdhylj 的回复:]
select [name],sum(beishu)
from tb
group by [name]
[/Quote]
恩:这样能得到楼主的结果。
select [name],sum(beishu) from tb where [name]<>1 group by [name]
conan304 2008-04-10
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 jcifox 的回复:]
楼上的,我是在一个表内查询的。继续等高手
[/Quote]
自己连意思都说不明白,别人只能靠猜。

等高手……
你继续等吧。
会de不多 2008-04-10
  • 打赏
  • 举报
回复
楼上的,我是在一个表内查询的。继续等高手
xiaoliaoyun 2008-04-10
  • 打赏
  • 举报
回复
是不是统计了name的个数,然后这个个数分别乘以倍数再求和?
看看下面的是否是你需要的,只是和你说的结果不同...

declare @a table ([name] varchar(2),beishu int)
insert into @a
select '01', 2 union all
select '01', 9 union all
select '02', 4 union all
select '02', 1



select a.[name],sum(counts*beishu) as zongji
from
(select [name],count(name) as counts
from @a
group by [name])a
inner join @a b on a.[name] = b.[name]
group by a.[name]
/*结果
name zongji
---- -----------
01 22
02 10
*/
conan304 2008-04-10
  • 打赏
  • 举报
回复
没看懂
会de不多 2008-04-10
  • 打赏
  • 举报
回复
是用统计了name后的别名乘以倍数呢。
dawugui 2008-04-10
  • 打赏
  • 举报
回复
你这结果如何来的?
昵称被占用了 2008-04-10
  • 打赏
  • 举报
回复
没看懂,别名是什么?
或者你的11怎么来的,4又是怎么来的
xiaomeixiang 2008-04-10
  • 打赏
  • 举报
回复
没看懂呢
yygyogfny 2008-04-10
  • 打赏
  • 举报
回复
没看明白
青锋-SS 2008-04-10
  • 打赏
  • 举报
回复
不对,02怎么是4?
青锋-SS 2008-04-10
  • 打赏
  • 举报
回复
select [name],sum(beishu)
from tb
group by [name]

22,209

社区成员

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

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