如下表:
Tall Age
160 20
160 23
170 20
170 40
170 50

如果记录数很多的话,如何快速查找所有相同Tall的年纪的最大值和最小值及同以身高的记录个数?我用如下方法,有没有更好的办法?更改表结构也可以.
mQuery.exec("select distinct Tall from tmptable");while(mQuery.next())
{
  mQuery1.exec("select age from tmptable order by age");
  mQuery1.first();
  minage=mQuery1.value(0).toInt();
  mQuery1.last();
  maxage=mQuery1.value(0).toInt();
  count=mQuery.size();  
}

解决方案 »

  1.   

    看不懂这个汉语!!! (不要高估你的汉语表达能力或者我的汉语理解能力)
       建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
       参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
       
       1. 你的 create table xxx .. 语句
       2. 你的 insert into xxx ... 语句
       3. 结果是什么样,(并给以简单的算法描述)
       4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
       
       这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。   
      

  2.   

    如果记录数很多的话,如何快速查找所有相同Tall的年纪的最大值和最小值及同以身高的记录个数?
    select tall,max(age),min(age),count(*) from tmptable order by Tall 
      

  3.   

    这样查询出来的应该整个age中的最小(大)值吧。我是想查询具有相同Tall的age的最小,最大和相同age的个数。在上个表中,查询的结果应该是:
    Tall min(age)   max(age)  count
    160    20         23           2
    170    20         50           3
    当记录很多时,如何才能快速查询呢?
      

  4.   

    select tall,max(age),min(age),count(*) 
    from tb
    group by tall