| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1258 人关注过本帖, 2 人收藏
标题:请教:这个带统计的查询如何设计啊
取消只看楼主 加入收藏
寻H不得
Rank: 4
等 级:业余侠客
威 望:1
帖 子:181
专家分:222
注 册:2010-10-9
结帖率:100%
收藏(2)
已结贴  问题点数:20 回复次数:4 
请教:这个带统计的查询如何设计啊
近来做统计时遇到这个问题,虽然已经解决,但总是不满意过程
请教各位高手有没有更简单的查询语句??
这是电子表:
单位      货物类别   到货时间        
东山村    南瓜    20110701
西山村    冬瓜    20110701
南山村    西瓜    20110701
北山村    木瓜    20110702
李家村    丝瓜    20110702
王家村    南瓜    20110702
南山村    冬瓜    20110702
北山村    西瓜    20110702
李家村    木瓜    20110702
南山村    丝瓜    20110702
北山村    香瓜    20110703
李家村    哈蜜瓜    20110703
王家村    南瓜    20110703
南山村    冬瓜    20110703
北山村    西瓜    20110703
李家村    蚕豆    20110703
南山村    大豆    20110703
  .        .       .
  .        .       .

想通过统计得到如下效果:(纵向统计不重复的单位,横向统计各单位进该货物次数,问题是单位和货物都有好几十类)
单位    南瓜  冬瓜  西瓜 木瓜    ...瓜
东山村    3    1     0     1     ...1   
西山村    0    1     1     0     ... 1  
南山村    1    1     1    1      ... 2
北山村    2    5     2    0      ... 2
 .        .    .     .    .      ....               
 .        .    .     .    .      ....               

得到这个第一列好办,甚至就是个三五列也好办,问题是有多少列都不能固定。
所以我的思路第一步先读入电子表到VFP表,得到第一列内容和总列数(sele dist 货物类别,count(*) as ci from 表 group by  货物类别),有这一步才能确定有多少列
第二步采用循环,使用count 命令
count for 单位=“东山村”  and 货物=“南瓜” to x
repl ()  with x
这个思路结果到是做得出来 但是总觉得不爽,总觉得没用好分组统计,
是不是思路上出了问题,脑袋不够用了?还是近来太热了 ??
本来在电子表里用函数就可以直接统计出来,但每次新到电子表时这行又可能不同,还是要重来设置函数,用起来也不舒服
请教各位老大 有没有更好的思路??

[ 本帖最后由 寻H不得 于 2011-7-29 00:01 编辑 ]
搜索更多相关主题的帖子: 统计 木瓜 北山村 东山村 哈蜜瓜 
2011-07-28 23:52
寻H不得
Rank: 4
等 级:业余侠客
威 望:1
帖 子:181
专家分:222
注 册:2010-10-9
收藏
得分:0 
这个~什么意思??
2011-07-29 00:02
寻H不得
Rank: 4
等 级:业余侠客
威 望:1
帖 子:181
专家分:222
注 册:2010-10-9
收藏
得分:0 
TonyDeng先生确实很专业
就是感觉太专业了 读起来有点绕
今天抽时间想了想
我再用 sele sum(iif()) as 种类1,sum(iif()) as 种类2,... where . group by .   语句实验成功,而且速度快
  sele dist 种类,count(*) as 次 from sjb group by 种类 order by 次 desc into curs _ls
    cxj='sele dist 单位 as 单位'
      do while.not.eof()
        cxj=cxj+',sum(iif("'+allt(_ls.种类)+'",1,0)) as '++_ls.种类
         skip
      enddo
    cxj=cxj+' from sjb group by '...
   &cxj
其关键就是构建查询语句,在此非常感谢各位的热心帮助,你们构建表的设计给了我很大的提示
再次感谢!


[ 本帖最后由 寻H不得 于 2011-7-29 17:04 编辑 ]
2011-07-29 17:03
寻H不得
Rank: 4
等 级:业余侠客
威 望:1
帖 子:181
专家分:222
注 册:2010-10-9
收藏
得分:0 
回复 10楼 hdlxdl
个人觉得:
制作报表我建议还是将统计结果粘贴到word或者excel当中去制作好一些
毕竟你统计出来的东西不是定列数的 用VFP只是一个过渡工具
有更好的排版软件为什么不用呢?
当然你如果只要个结果可以直接输出到打印机就OK了
2011-08-02 19:59
寻H不得
Rank: 4
等 级:业余侠客
威 望:1
帖 子:181
专家分:222
注 册:2010-10-9
收藏
得分:0 
回复 14楼 hdlxdl
楼上的想法 我也用过的
一般没有问题
但是遇到南瓜 西瓜这个数列出现“51号玉米”“920农药”等带数字开头的会遇到麻烦的
还有遇到有空栏的话也麻烦
2011-08-08 22:03
快速回复:请教:这个带统计的查询如何设计啊
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016268 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved