Visual Foxpro高手帮忙写个语句,谢谢!

来源:百度知道 编辑:UC知道 时间:2024/06/14 15:38:05
假如有表A.dbf
data a b
090101 1 10
090102 3 30
090103 5 50
090201 2 20
090202 4 40
090203 6 60
090301 7 70
090302 8 80
090303 9 90

用下面这个语句,只能得到一行
select data,count(*),sum(a),sum(b) from A.dbf where data like '0901%'

0901 3 9 90

但是我想得到下面的结果,语句怎么写呢?

0901 3 9 90
0902 3 12 120
0903 3 24 240

各位大侠帮帮忙,谢谢了!
如果要用GROUP BY DATA的话我的DATA就要改成名字一样的0901,0902,0903才行哟,有其他办法么?期待更佳的答案~

select left(data,4),count(*),sum(a),sum(b) from A.dbf group by 1

我看明白了,你是要按前四位分组,看看你的DBMS是否支持LEFT函数,INFORMIX数据库使用下面的语句:
select data[1,4],count(*),sum(a),sum(b) from A.dbf group by 1

SELECT LEFT(data,4), SUM(a), SUM(b) FROM 表A GROUP BY 1

select susbs(data,1,4),count(*),sum(a),sum(b) from A.dbf group by where susbs(data,1,4)