select uname,count(cid) from nowday group by uname order by count(cid) desc
select uname,count(cid) from nowday where status=2 group by uname order by count(cid) desc意思就是要查询 用户名,操作量,无效操作量(status=2)
如果可以的话,能在这个基础上追加查询一个无效操作率吗?(无效操作量/操作量) 要求结果是百分比表示,保留两位小数

解决方案 »

  1.   

    select s1.uname ,s1.youxiao,s2.wuxiao from (select uname,count(cid) youxiao from nowday group by uname )s1 
    left join 
    (select uname,count(cid) wuxiao from nowday where status=2 group by uname) s2 
    on s1.uname = s2.uname 
    要是我来写的话就是这样的
      

  2.   

    select uname,count(cid) from nowday group by uname order by count(cid) desc
    union
    select uname,count(cid) from nowday where status=2 group by uname order by count(cid) desc
      

  3.   

    可以, 用case when, 但是比较麻烦
    select uname, count(cid1) as cid1, sum(cid2) as cid2 from 
    (select uname,1 as cid1, case when status=2 then 1 else 0 end as cid2 from nowday ) as t group by uname, order by cid1
    但是合并的话, 没办法同时满足两个字段排序