例如,有如下两个字段
book_id   book_name
1            name1
2            name2
1            name1
3            name3
2            name4我想实现这样的功能:
用book_id来分组,并计算出组的数量,以这个数量来排序,并且想得到book_name这个字段的值,能行吗??

解决方案 »

  1.   

    select book_id,count(book_id) as idcount,max(book_name) as book_name 
    from 表名 
    group by book_id
    order by idcount
      

  2.   

    前两个可以, 因为你分组后, book_name 就 不能拿到了.可以这样select book_id, COUNT(*) from T_BOOKS group by book_ID order by COUNT(*);
      

  3.   

    如果你的book_name 在同一book_id是相同的话,可以这样
    select book_id, book_name,COUNT(*) from T_BOOKS group by book_ID,book_name order by COUNT(*);
      

  4.   

    非常感谢confidence26() 
    同时也感谢参与的各位兄弟们