select count(*) from XXX where toll>=1000

select * from XXX where toll>=1000

解决方案 »

  1.   

    select count(*) from XXX where toll>=1000 and substr(YEAR,1,4)='2000'

    select * from XXX where toll>=1000 AND substr(YEAR,1,4)='2000'
      

  2.   

    select name from 表名 where ((select sum(toll) from 表名 where (year>=2000-1-1) and (year<2001-1-1))>1000)
    不知可否?请校正
      

  3.   

    to yiyizq0260(yiyizq):
            很遗憾,要统计的是一年的总和超过 1000元的厂数并列清单。
    例如:查询超过一百万的企业清单:id  name     toll   
    3    dd      1453256.00     
      

  4.   


    1、功能细分:
      
        a、在一个Stringlist中列出所有不重复的厂名;    b、SELECT * FROM Table        WHERE (LEFT(Year, 4) = '2000') AND              (RIGHT(Year, 2) IN ([1,2,3,4,5,6,7,8,9,10,11,12])) AND
                 
                 (NAME='aa')       统计年利润;    c、循环Stringlist中的值,取最大。2、是否有直接利用查询语句解决的方案?关注!
      

  5.   

    to  open123(开凯):
         我自己觉得关键在于如何提取一个企业的所有记录统计某一年的总和,然后再比较
    要查询的数额,再把所有符合条件的企业名单列出。
      

  6.   

    创建一个临时表,统计出全年的总销售额,语句如下:
    select distinct name, sum(toll) as toll into #TempTbl from SourseTbl
    where substring(year,1,4)='2000' group by name
    然后再查询
    select name,toll from #tempTbl where toll>1000
    (在sql server之类的大型数据库支持带#号的临时表,断开连接后临时表自动删除,如果是在paradox之类的数据库,用select...into...from...创建一个表,查询完成后drop掉即可)
    OK啦
      

  7.   

    to hymen1(小满):我觉得,这个表的结构不完善,可以把year(年月)字段拆成两个字段year(年份)和month(月份),这样统计的时候就方便多了,不是吗
      

  8.   

    to wangxd1976(西门吹雪):
       
    let me try!!
      

  9.   

    Year:string;//传入年份
    TollNum:string;//传入上限金额
    -------------------------------------------------
    var
       str_sql:string;
    begin
      str_sql:='select ID,Name,AllToll '+
               'from '+
               '(select ID,Name,AllToll=sum(Toll) from TableName '+
               ' where SubStr(Year,1,4)='''+Year+'''  '+
               ' group by ID,Name) a '+
               'where AllToll>='+TotalNum+' order by ID'; 
      with Query do
      begin
        close;
        sql.clear;
        sql.add(str_sql);
        open;
      end;
    end;
      

  10.   

    Year:string;//传入年份
    TollNum:string;//传入上限金额
    -------------------------------------------------
    var
       str_sql:string;
    begin
      str_sql:='select ID,Name,AllToll '+
               'from '+
               '(select ID,Name,AllToll=sum(Toll) from TableName '+
               ' where SubStr(Year,1,4)='''+Year+'''  '+
               ' group by ID,Name) a '+
               'where AllToll>='+TotalNum+' order by ID'; 
      with Query do
      begin
        close;
        sql.clear;
        sql.add(str_sql);
        open;
      end;
    end;
      

  11.   

    select nama from tablename 
    group name 
    HAVING (SUM(total) >= 1000)
    where SubStr(Year,1,4)='2000'  
      

  12.   

    select nama from tablename 
    group by name 
    HAVING (SUM(total) >= 1000)
    where SubStr(Year,1,4)='2000'