列1  列2  列3  列4 列5
A    B    C    D   D
A    2    2    1   1
2    3    3    3   3
4    4    4    4   4
A    4    4    4   4需要以列1为参照取不重复的值最终得到的为:列1  列2  列3  列4 列5
A    B    C    D   D
2    3    3    3   3
4    4    4    4   4

解决方案 »

  1.   

    <%
    dim rs,conn,sql
    set conn=server.createobject("adodb.connection")
    set rs=server.createobject("adodb.recordset")
    conn.open "provider=microsoft.jet.oledb.4.0;data source=" & server.mappath("db.mdb")
    sql="select a,b from tab where id in (select min(id) from tab group by a)"
    rs.open sql,conn,0,1
    do while not rs.eof
    response.write rs(0) & "  " & rs(1) & "<br>" & vbcrlf
    rs.movenext
    loop
    rs.close
    set rs=nothing
    conn.close
    set conn=nothing
    %>
    这是从网上找的一个ASP代码,但是代入到MYSQL里调不出来,那位大大知道怎么做,请告诉我,谢谢.
      

  2.   

    你这些记录里面如果有个唯一的序号列或时间列的话,那可以这样查:select * from tb_name a where not exists (select 1 from tb_name b where b.列1=a.列1 and b.序号<a.序号)
      

  3.   

    "select a,b from tab where id in (select min(id) from tab group by a)" -------------
    这里应该是想取列a分组后每组的最小值那条记录,用上面的语句就可以了select a,b from tb_name tb1 where not exists (select 1 from tb_name tb2 where tb2.a=tb1.a and tb2.id<tb1.id)
      

  4.   

    或:select a,b from tb_name tb1 where id= (select min(id) from tb_name tb2 where tb2.a=tb1.a) 或:select tb1.a,tb1.b from tb_name tb1,(select a,min(id) as newid from tb_name group by a) tb2 where tb2.a=tb1.a and tb2.newid=tb1.id
      

  5.   

    谢谢vinsonshen,已经用你的方法实现了。