日期:2014-05-19  浏览次数:20405 次

关于GROUP BY 的问题
数据表中的数据是这样的,
id   a       b
0     10     1
1     11     2
2     20     1
3     21     1
4     10     1
5     21     2
6     11     1
7     21     2

我要GROUP   BY   a字段的第一个字符,10、11是一类,20、21是一类,也就是最后只得到两行数据,有办法吗?谢谢!


------解决方案--------------------
既然这样,数据库设计时就应该把a作为两个字段,这样才能符合数据库的基本要求,即1NF要求。

目前可以这样处理,先创建个视图
Create View view_Table1 As
Select id, a / 10 as a1, a % 10 as a2, b From Table1

然后从视图查询
Select a1, Sum(b) as bTotal From view_Table1 Group by a1