select top 10* from(select  nid=min(nid),nname,ntype from NUM group by nname,ntype)b
我不明白 nid=min(nid) 是什么意思,min是取最小,这里用min是什么意思呢

解决方案 »

  1.   

    根据 nname,ntype 分组,同一组中的nid取最小的
      

  2.   

    为什么同一组的要取最小的呢?我试着不加nid,但是要报错或者不是我要的结果
      

  3.   


    按照nname,ntype分组取最小的,然后求前十个.
      

  4.   

    nid=min(nid)
    nid是一个别名
    等效于min(nid) as nid
      

  5.   

    group by nname ntype  -- 按 nname ntype 分组
    nid =min(nid) --同楼上所说
    其实就是先按nname  ntype 分组查出最小的nid  然后 再查出  这些所有nid 中的 前十个
      

  6.   

    就是说nname,ntype重复的数据很多,取id值最小的1条就可以了。
      

  7.   

    select top 10* from(select nid=min(nid),nname,ntype from NUM group by nname,ntype)b min(nid) 是最小的nid
      

  8.   

    同一nnme,ntype 中,取nid最小的那一个.