select a.* from tb a join (select aa,min(bb)as bb from tb)b on a.aa=b.aa and a.bb=b.bb

解决方案 »

  1.   

    delete a
    from 表 a
    where bb<>(select min(bb) from 表 where aa=a.aa)
    or cc<>(select min(cc) from 表 where aa=a.aa and bb=a.bb)
    or dd<>(select min(cc) from 表 where aa=a.aa and bb=a.bb and cc=a.cc)
      

  2.   

    表设计如下省 ( Id, 省名,)
    学校( id,校名,省ID)
    专业 (id,专业名,省ID,校ID)想能进行如下查询。查询一 选择一 省
           选择二  自动列出该省所有学校(以实现)查询二 选择一 省
           选择二 自动列了该省所有专业
           
      

  3.   

    select 专业,省,min(大学) as 大学
    from tablename
    group by 专业,省
    楼主试试行不行
      

  4.   

    查询二 选择一 省
           选择二 自动列了该省所有专业
    省 ( Id, 省名,)
    学校( id,校名,省ID)
    专业 (id,专业名,省ID,校ID)
    select 专业名 from 专业 where 省ID=(select id from 省 where 省名=选中的省)
      

  5.   

    to futulove因为我是用的ASP,所以不用复合查询。
       列表框一可以这样写
          生成一个记录RS,
             rs.open "select * from 省" ,conn,1,1
         do while not rs.eof
        <option value=<%=rs("id")%><%=rs("省名")%>
            loop这样要完成你写的查询只要
          select 专业名 from 专业 where 省id=request("下拉框的名字")
    就可以了。
    我问的是去掉专业相同的列
      

  6.   

    什么意思?
    “第三个字段是什么没有问题。是什么都行“
    是不是下面的结果也可以:
    --测试
    Create table test_0730
    (专业 varchar(20),省 varchar(50),大学 varchar(50))insert into  test_0730
    select '计算机','北京','清华'
    union select '计算机','北京','北大'
    union select '英语','北京','清华'
    union select '英语','北京','北大'
    union select '数学','山东','青岛大学' --
    delete from  test_0730
    where 专业 in ( 
    select 专业 from test_0730
    group by 专业
    having count(*)>1) 
    and 大学 not in
    (select min(大学) from test_0730
    group by 专业
    having count(*)>1) select * from test_0730--结果专业                   省                       大学                                                 
    -------------------- -------------------------------- 
    计算机                  北京                    北大
    数学                   山东                     青岛大学
    英语                   北京                     北大(所影响的行数为 3 行)
      

  7.   

    我用的查询是
     select DISTINCT 专业名 from zhuanye where proid=省ID"但是我对结果很不满意,虽然得到了想要的数据,但是没有得到专业ID
    这样给下一个查询传参数时很不方便。用futulove(福途£爱) 的方法解决了问题
    sql="select id,name,proid,min(schoolid) from  zhuanye where proid=省ID group by name,proid,id"不过这样的查询如果数据量大了结果会怎么,会不会效率很低。
    谢谢大大们的指点。
      

  8.   


    不好意思,刚才试了一下,我改过后,得到的数据有重复。
    是不是代表futulove(福途£爱)朋友的写法select 专业,省,min(大学) as 大学
    from tablename
    group by 专业,省和我的写法select DISTINCT 专业名 from zhuanye where proid=省ID"执行的效率是一致的呢?