两个字段"ID","Name",按照name排序来fill一个dataset,可是现在我想最快速得到"ID"值最大的行号,请问有什么好的方法吗?我不想两条数据两条数据地去比较,请问有什么好的办法没有?

解决方案 »

  1.   

    select id,name from table
    order by name,id这样选出来的第一个name的id是最大的
      

  2.   

    楼上的方法不行, order by name, id 这样还是先按name排序了,第一个id并不是最大值.
      

  3.   

    select id,name from table
    order by name,id desc
      

  4.   

    错了,select id,name from table
    order by id desc
      

  5.   

    你们都不对!
    应该是这样的!
    DataSet myDataSet=new DataSet();
    DataTable myDataTable=myDataSet.Tables[0];
    int max=Convert.ToINt32(myDataTable.Rows[0].ToString());for(int i=0;i<myDataTable.Rows.Count;i++)
    {
    if(max<myDataTable.Rows[i].ToString())
    {
    max=Convetr.ToInt32(myDataTable.Rows[i].ToString());
    }
    }
    这样好难写啊!
      

  6.   

    问题是我想按照name来排序,而又想得到id为最大的那一行的行号.
      

  7.   

    lucky_monkey(lucky_dog) 的思路是可以实现,但如果数据太多的话,这样比较可能有点慢.有没有可以直接拿到的方法呀.
      

  8.   

    不慢啊!一次遍历啊!
    行号就是myDataTable,Rows[i]啊!
    你再定义一个数组就好了!string[] row={name,id};我都是这么做的!
      

  9.   

    可以在DataSet中执行select选出最大id
      

  10.   

    create view tmp as select name,id from table order by name
    select count(*) from tmp where name <(select distinct name from tmp where id=(select max(id) from tmp))