数据库表A 有个字段a是int类型
a中有数据有1到9任意(有重复的)想取得a中,当 a=1时 a=2时 a=3…… 各一条记录的列表
能用sql搞定吗 要考虑效率 

解决方案 »

  1.   

    select * form table where table.a = 1 limit 0 ,1;
      

  2.   

    select * from A where id in (select dictinct id from A group by a);这样不知道行不行
      

  3.   

    啥意思,是a不同值各取一条吗?
    是的话select * from A group by a
      

  4.   

    还有一点,mysql的sql语句中的group by 好像就不能用order by 排序了
      

  5.   

    select distinct(a) from A order by a
    这应该可以吧!!
      

  6.   


    group by 后面跟 having 
      

  7.   

    我做了测试 表的结构
    id int 其中 id为主键 
    a int  select * from A where a in (select distinct a from A) group by a;
    select * from A group by a;以上2个语句都能实现楼主说的查询记录 但是具体哪个效率更高一些 我没有测试 
    应该是第一个效率高些  但是,至于是不是符合楼主的要求那就不好说了,毕竟没真正明白楼主的需求  
      

  8.   

    我认为是select distinct(a) from A group by a order by asc,不知道顺序有没有颠倒,好久没用数据库了
      

  9.   

    select * from A where a in (select distinct a from A) group by a;这句应该可以的,效率应该不错,否则就要关联起来效率一定低了