日期:2014-05-20  浏览次数:20890 次

mysql排序


我要的排序是

ip相同 且记录最多的排在最前面

上面的192.168.1.10 有4条,所以要排在最前面,

最后的结果应该是
  192.168.1.10 f
192.168.1.10 a
192.168.1.10 fdsa
192.168.1.10 af
192.168.1.112 fa
  。。。。。。。。。

------解决方案--------------------
假若表结构如下:
create table test(
id varchar2(20),
ip varchar2(20),
content varchar2(200)
);
可以这样实现
select 
t1.id,t1.ip,t1.content 
from test t1 
left join (
 select 
t.ip,count(*) count 
 from test t 
 group by ip
) t2 on t1.ip=t2.ip
order by t2.count desc