SELECT 班级, SUM( 总分 ), COUNT( 总分 )
FROM "studentscore.DB"
WHERE  年级 = '初一年级'and SUN(总分)>400 
GROUP BY 班级试试看
我也不知道行不行:(

解决方案 »

  1.   

    如果支持Case,可以这样写Select 班级, sum((case when 总分>400 then 1 else 0)*总分), Count(总分)from "StudentScore.Db"
    WHERE  年级 = '初一年级'and 总分>400 
    GROUP BY 班级二是,你最好再用一个query来进行操作。
      

  2.   

    to mingyeh(忧郁),你这种方法是不行的,你统计的总分是全年级的总分,更何况编译都有错误 to thisisxutao(Probational 1.0) 
    现在就是不能用两个QUERY
      

  3.   

    SELECT 班级, SUM( 总分 ), COUNT( 总分 )
    FROM "studentscore.DB"
    HAVING 年级 = '初一年级'and sum(总分)>400 
    GROUP BY 班级
      

  4.   

    query1.close
    query1.SQL.clear;
    query1.sQL.add('SELECT 班级, SUM( 总分 ), COUNT( 总分 )
    FROM "studentscore.DB"
    WHERE  年级 = '''+'初一年级'+''' 
    GROUP BY 班级')
    query1.sQL.add(SELECT COUNT( 总分 )
    FROM "studentscore.DB"
    WHERE  年级 = '''+'初一年级'+''' and 总分>400 
    GROUP BY 班级
    )
    query1.open;
      

  5.   

    SELECT 班级, SUM( 总分 ), COUNT( 总分 )
    FROM "studentscore.DB"
    WHERE  年级 = '初一年级' 
    GROUP BY 班级 having SUM( 总分 )>400
      

  6.   

    SELECT a.班级,a.总分,a.总人数,b.大于400人数 From 
     (SELECT 班级, SUM( 总分 ) AS 总分 , COUNT( 总分 ) AS 总人数
        FROM "studentscore.DB" 
          WHERE  年级 = '初一年级' 
           GROUP BY 班级 ) AS a ,
     (SELECT  COUNT(*) AS 大于400人数
        FROM "studentscore.DB" 
          WHERE  年级 = '初一年级' 
           AND 总分>400) AS b 语法可能与你用的库有出入  你不妨这样试试
      

  7.   

    SELECT 班级, SUM( 总分 ), COUNT( 总分 )
    FROM "studentscore.DB"
    WHERE  年级 = '初一年级'
    GROUP BY 班级
    having sum(总分)>400 
    建议看看SQL21速成一书。或者看看delphi的Local SQL参考。