1、select * from tablename where id=(select max(id) from tablename)
2、select count(*) from tablename

解决方案 »

  1.   

    在mysql里运行select * from member where userid=(select max(userid) from member) LIMIT 0, 30出错
    MySQL 返回:
    You have an error in your SQL syntax near 'select max(userid) from member) LIMIT 0, 30' at line 1
    返回 select count(*) from tablename
    没问题
    thanks
      

  2.   

    楼上回答的第一问题不正确,mysql不支持嵌套select1、要取出当前一个表中的id号最大的一条记录
    标准sql在一条语句中无法实现,标准sql是不支持子选择的。2、返回当前表的所有记录数
    select count(*) from tablename;3、怎么使取得亩一范围的记录数
    同第一问,在标准sql中无法用一条语句完成。
      

  3.   

    楼上的说说怎样处理这种情况如1.3
    我让程序执行两次??
    先select count(*) from tablename返回int值
    然后再select * from where id = 上面的int值那么如果是3这个问题怎样处理
    比如说要分页(表中的ID号可能是不连续的)
      

  4.   

    用标准sql一句是没法写。mysql的写法(只适用于mysql):
    1、select * from tablename order by id desc limit 0,1;3、select * from tablename order by id limit 200,400;
    这句如果在查询过程中有其他进程对表进行了增删改可能造成
    查询范围不正确。除非查询前锁表。4、select * from tablename where to_days(sysdate())-to_days(datecolumn)=1;