我想做一个统计全部数据在一张表中,比如,购买日期,设备类别,单位等等,(1)统计某一年,各单位购买的设备数量和使用资金
(2)统计某单位,每年购买设备数量和投入资金现在,用的是DBGridEh控件,这个统计怎么弄呢?用DBGridEh把这几列的和分别显示在footer下面?还是另外做一张新表存入所要统计的数据?

解决方案 »

  1.   

    1. select 单位,sum(设备数量),sum(投入资金) from 表 where 年份=“年份” group by 
    单位
    2. select 年份,sum(设备数量),sum(投入资金) from 表 where 单位=“单位” group by 
    年份
      

  2.   

    楼主放分我接分select 就可以搞定
      

  3.   

    select完全搞定
    select 单位,sum(设备数量),sum(投入资金) from 表 where 年份=“年份” group by 单位 
    select 年份,sum(设备数量),sum(投入资金) from 表 where 单位=“单位” group by 年份
    顺便接点分!!!
      

  4.   

    昨晚还是没能解决,够菜的了,^_^1.查询到的结果怎么放在DBGridEh里面(fieldname要设置?还是怎么弄)?或者说,怎么在页面上表示出来?2.我的购买日期是具体时间,比如2005-10-10,而不是年份2005。3.问题解决了,马上结贴!!!
      

  5.   

    1.加上一个DataSource1一个ADOQuery1,将DataSource的DataSet指向ADOQuery1,将DBGridEH的DataSource指向DataSource1,通过ADOQuery执行的查询操作结果会传给DataSource,DataSource会再把结果传给DBGridEh,达到显示的目的2.如果只是统计一下2005年的,就直接在查询语句里面加上YearOf(年份)=20053.不用回答了。
      

  6.   

    再补充一下,单位有很多,来源于另外一张存放单位表中。
    主表简略介绍下:dw(单位-N多) sblb(设备类别-4种)sbmc(设备名称) sbsl(数量) dj(单价)zj(总价)gmrq(购买日期)天一公司       文具            毛笔           10         5        50  2005-10-10要得到统计
    1.某年(比如2005)各个公司购买的设备数量总和,花费。
    2.天一公司,每年买东西的数量,总花费。
    分不够再加也行。时间太急了。
      

  7.   

    要统计的年份2005是在EDIT里面填的,也可能换成2006等要统计单位也是在一个下拉菜单中选择的。
      

  8.   

    呵呵,select ... from ... where ... and YearOf(年份)='+IntToStr(Edit1.Text)+' and ...'用这样的方式,将2005换成Edit.Text就可以了,下拉菜单一样
      

  9.   

    恩,前面的统计我已经实现了,
    不过,我这个是ADOQuery1放在的是服务器端,和统计的页面不在一起。
    那怎么写?
      

  10.   

    恩,我做的是C/S模式的。客户端用的是Tclientdataset 控件ADOQuery1放在了服务端