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

[复制链接]
查看11 | 回复3 | 2009-2-1 12:04:53 | 显示全部楼层 |阅读模式
假如有表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才行哟,有其他办法么?期待更佳的答案~

回复

使用道具 举报

千问 | 2009-2-1 12:04:53 | 显示全部楼层
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...
回复

使用道具 举报

千问 | 2009-2-1 12:04:53 | 显示全部楼层
SELECT LEFT(data,4), SUM(a), SUM(b) FROM 表A GROUP BY 1...
回复

使用道具 举报

千问 | 2009-2-1 12:04:53 | 显示全部楼层
select susbs(data,1,4),count(*),sum(a),sum(b) from A.dbf group by where susbs(data,1,4)...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行