select substring('AAA1',1,charindex('%[0-9]%','AAA1')-1)
解决方案 »
- <>和< or > 的区别
- 在sql2000数据库中怎样实现里面的数据如下的格式:2,898;234,322;345
- 求sql语句
- 求助:sql server text字段,频繁查询、修改、删除操作会导致数据库越来越慢,如何优化
- 想重装OS,病毒太厉害,只备份MDF文件而不管LDF文件,成吗?
- 请问各位前辈:AutoCAD和SQL的接口怎么做?
- 把一列写成多列???
- 怎样在TEXT类型的字段内容后面追加内容?
- 对于SQLSERVER7.0,存储过程里的循环语句怎么写,以实现对记录集中每条记录的操作
- 启动代理出现 无法获取 proxy_id = 4 的代理数据错误
- 关于数据库取数据的问题,两个表里的数据。求教啊
- Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
select substring('AAA1',1,patindex('%[0-9]%','AAA1')-1)
就是说如果有下列选择语句
select category,sum(price) form a
结果如下:
category price
AAA1 20
AAA2 30
AEX 10
AAA2 20
.......
而我想要的结果是:
category price
AAA 20
AAA 30
AEX 10
AAA 20
请问.....?
from ( select category,sum(price) form a group by category) a
a.price
from ( select category,sum(price) form a group by category) a
select (case when a.category in('AAA1','AAA2') then 'AAA' else a.category end) as category,
a.price
from ( select category,sum(price) form a group by category) a
SELECT MAP=(case when category in('AAA1','AAA2') then 'AAA' else category end)
,price FROM 表
/*测试结果
MAP price
---- -----------
AAA 20
AAA 20
AAA 30
AEX 10(所影响的行数为 4 行)
*/
--如果想要得到平均值的话,就对MAP列进行分组.SELECT MAP=(case when category in('AAA1','AAA2') then 'AAA' else category end)
,sum(price) FROM map group by (case when category in('AAA1','AAA2') then 'AAA' else category end)
/*测试结果
MAP
---- -----------
AAA 70
AEX 10(所影响的行数为 2 行)
*/
从楼主的要求看好像没要求这么多吧?就是单纯的把category字段类似AAA1和AAA2的统统用AAA替换,是不是,搂主?