求一个sql语句:以某一列的内容为条件对另一列求和

例:value1weight40ab12340ac56940ab49420ab32140bc98720kl13650gb65820rt92350bg231如上:分别查询v... 例:value1 weight
40ab 123
40ac 569
40ab 494
20ab 321
40bc 987
20kl 136
50gb 658
20rt 923
50bg 231
如上:分别查询value1 字段下包含“40”、“20”和“50”的, 然后将各自的结果进行求和。并将求和结果保存成如下:
svalue sweight
20 xxx
40 xxx
50 xxx
敬等各位大侠高见!
展开
 我来答
flyingFish211
2012-02-27 · TA获得超过2.1万个赞
知道大有可为答主
回答量:1.5万
采纳率:50%
帮助的人:1.1亿
展开全部
SELECT SUBSTR(value1, 1, 2), SUM(weight)
FROM tab
group by SUBSTR(value1, 1, 2)

不同数据库系统需要调整下substring函数
追问
有的value1的内容如下:gh40。按上述方法该怎么处理呢
追答
SELECT  CASE WHEN VALUE1 LIKE '%40%' THEN '40' 
WHEN VALUE1 LIKE '%20%' THEN '20'
WHEN VALUE1 LIKE '%50%' THEN '50'
else null end, SUM(weight)
FROM tab
group by CASE WHEN VALUE1 LIKE '%40%' THEN '40'
WHEN VALUE1 LIKE '%20%' THEN '20'
WHEN VALUE1 LIKE '%50%' THEN '50'
else null end
greybird
2012-02-27 · TA获得超过470个赞
知道小有建树答主
回答量:609
采纳率:0%
帮助的人:384万
展开全部
给一个Oracle 10g以上的版本SQL语句答案:
select regexp_substr(value1,'\d\d'),sum(weight) from 表 group by regexp_substr(value1,'\d\d')
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
西门公子庆
2012-02-27 · TA获得超过1879个赞
知道小有建树答主
回答量:482
采纳率:100%
帮助的人:261万
展开全部
select substr(value1,0,2),sum(weight) from table group by substr(value1,0,2);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式