我想要取得表中某一字段的最大值。
select max(id) as maxid from person
出错信息是“Field 'maxid' not found如果这样写不行的话,那么我该怎么得到某一字段的最大值呢?

解决方案 »

  1.   

    刚才写错了,SQL语句是:
    select max(id) as maxid from person group by id
      

  2.   

    select max(id) as maxid from person
      

  3.   

    TO ziqing(delphi转.net中) (:
    加不加 group by id
    都报错
      

  4.   

    select max(id) as "maxid" from ...
      

  5.   

    你是什么数据库是SQL吗>>
      

  6.   

    select max(id) as mymaxid from person group by id
      

  7.   

    估计楼上的都理解错误了,我想绝对不是sql的错误,肯定是delphi程序错误,比如dbgrid和dataset里面的字段
      

  8.   

    对不起,刚才是因为在程序里ADO没有Open,直接EXESQL造成的。
    但新的问题出现了。得到的值不是表里的最大值。
    后面没有加group by 得到的表中最后一条数据的值,加了group by就得到表中第一条数据的值。真是怪呀
      

  9.   

    看看数据类型 你的maxid确定在数据表里不存在相同字段吗?
    如果没有的话Select Max(id) as MaxID from Persion group by id 应该是没有问题的
      

  10.   

    刚才是因为在程序里ADO没有Open,直接EXESQL造成的。
    ======================
    你的说法有点问题,应该是用OPEN,而不是用EXECSQL:)加了group by就得到表中第一条数据的值。真是怪呀
    ===============================
    你加了分组,当然会有多个值啦,就是按你ID分组里每个组里面的最大组,
    估计你用ID分组也没什么意义,如果不想有多个值,就去掉分组条件!
    Select Max(id) as MaxID from Persion
      

  11.   

    TO  insert2003(高级打字员) 
    你说的“应该是用OPEN,而不是用EXECSQL”是对的。
    我现在没有加分组了,但出来的值是第一条数据的值,我看过表里的数据了,肯定不是第一条数据的值最大。