SQL 如何实现不连续数据分组统计?

wtb119 2013-04-25 10:24:56
表test:
date num name
-------------------------------------------------
20130101 1 张三
20130102 3 张三
20130103 3 李四
20130104 3 李四
20130105 2 张三
20130106 2 王五


现在要求统计成:
date_min date_max num_sum name
------------------------------------------------------------------
20130101 20130102 4 张三
20130103 20130104 6 李四
20130105 20130105 2 张三
20130106 20130106 2 王五


test中的 name不连续,如何用SQL操作实现要求的结果 ?
...全文
239 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
lygcw9602 2013-04-26
  • 打赏
  • 举报
回复
问题解决了就好,抓紧时间买单吧
wtb119 2013-04-26
  • 打赏
  • 举报
回复
问题已解决,万分感谢 lygcw9602 老师。
lygcw9602 2013-04-26
  • 打赏
  • 举报
回复
CREATE CURSOR TEST (DATE C(8),NUM N(1),NAME C(4))
CSTR=[20130101,1,张三;20130102,3,张三;20130103,3,李四;20130104,3,李四;20130105,2,张三;20130106,2,王五]
FOR I=1 TO ALINES(A,CSTR,[;])
    =ALINES(B,A(I),[,])
    INSERT INTO TEST VALUES (B(1),INT(VAL(B(2))),B(3))
ENDFOR
SELECT *,0 FL FROM TEST INTO CURSOR TEST1 READWRITE
NAME1=NAME
N=1
SCAN 
   IF NAME!=NAME1
      N=N+1
   ENDIF
   NAME1=NAME
   REPLACE FL WITH N
ENDSCAN
SELECT NAME,MIN(DATE),MAX(DATE),SUM(NUM),FL FROM TEST1 GROUP BY FL,NAME
wwwwb 2013-04-26
  • 打赏
  • 举报
回复
SELECT name,MIN(date),MAX(date),SUM(NUM) FROM TT GROUP BY name

2,723

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧