各位大虾,小弟在线急求一个sql算法问题!先行谢过了

世界第一等 2006-07-22 09:40:10
name address class num
a 长沙 个人 1
b 成都 团体 1
d 武汉 地区 1
g 北京 团体 1
d 武汉 团体 1
a 长沙 个人 1
.....
得出:
name address 个人 团体 地区 总计
a 长沙 2 0 0 2
b 成都 0 1 0 2
d 武汉 0 1 1 2
.....
sql语句怎么写?
...全文
435 7 打赏 收藏 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinboychen 2007-04-11
  • 打赏
  • 举报
回复
不明白....
iohui 2006-09-24
  • 打赏
  • 举报
回复
请问楼上decode是什么意思?
sinofoxconn 2006-09-15
  • 打赏
  • 举报
回复
do_the_best(近我者赤) 的意思是对的,只不过写法上错了,肯定执行不了

执行下面的就可以了

select name,address,
sum(decode(class, '个人', num, 0)) 个人,
sum(decode(class, '团体', num, 0)) 团体,
sum(decode(class, '地区', num, 0)) 地区,
sum(num) 总计
from table_name
group by name,address
like199 2006-09-14
  • 打赏
  • 举报
回复
你只要写 Select NAME, ADDRESS,CLASS FROM ADDRESS 通过我写的工具软件
就会得到你需要的,你要最新的版本,可以发email给我。
http://dev2dev.bea.com.cn/bbs/thread.jspa?forumID=124&threadID=30935&messageID=183741#183741
wenshuicao 2006-08-14
  • 打赏
  • 举报
回复
在mysql下实现,不知道其他数据库是否支持

SELECT address
, sum( if( class= '个人', num, 0 ) ) AS geren
, sum( if( class= '团体', num, 0 ) ) AS tianti
FROM address
GROUP BY address
do_the_best 2006-08-01
  • 打赏
  • 举报
回复
select
name,
address,
sum(decode(class, '个人', num, 0)) '个人',
sum(decode(class, '团体', num, 0)) '团体',
sum(decode(class, '地区', num, 0)) '地区',
sum(num) '总计'
from table_name
group by name,address


希望我理解了你的意思
walf 2006-07-28
  • 打赏
  • 举报
回复
Select NAME, ADDRESS,CLASS,COUNT(*) FROM ADDRESS
group by rollup(NAME,ADDRESS,CLASS )

259

社区成员

发帖
与我相关
我的任务
社区描述
其他产品/厂家
社区管理员
  • 其他
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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