adoquery1.SQL.Add('select * from a group by cjx');
  adoquery1.Active:=true;
  series2.Active:=false;
  series2.DataSource:=adoquery1;
  series2. xLabelsSource:='cjx';
  series2.yValues.ValueSource:='有效时间;
  series2.Active:=true;
a表中的 字段 
jh 有效时间 cjx
   0.2      H
   0.3      H
   0.0      i
   0.4      J
这是我用dbchart制作的饼状图,我想实现的是 求cjx 下 H,I,J  各占 总数的百分数
象我那样写 就是 I占了0% 我想让求得的 I 占了1%才对吗??H,J 的结果也不对啊! 
我应该如何写啊!!

解决方案 »

  1.   

    select count(有效时间),cjx from a group by cjx
      

  2.   

    对不起了 昨天不能上网了
    a表中有  
    jh,ch,有效时间,cjx
    有效时间是 浮点型的
    其他的是字符型的 ~~~~~
      

  3.   

    我把你的有效时间改成了Tm,最好不要用中文字段名代码如下,没问题  Query1.Close;
      Query1.SQL.Clear;
      Query1.SQL.Add('select sum(Tm) as nfield,Cjx from aaa group by Cjx');
      Query1.Open;
      series1.Active:=false;
      series1.DataSource:=query1;
      series1.xLabelsSource:='cjx';
      series1.yValues.ValueSource:='nfield';
      Series1.Marks.Style := smsPercent;
      series1.Active:=true;