mysql 这个怎么排序?

cooc123 发布于 2011/11/30 11:13
阅读 603
收藏 0

我要的排序是

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

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

sql 怎么写?

加载中
1
恋恋美食
恋恋美食

用个子查询:

SELECT a.id, a.ip, a.content

FROM test_table a,

     (SELECT ip, COUNT(ip) NUM FROM test_table GROUP BY ip) b

WHERE a.ip = b.ip

ORDER BY b.num DESC

   	ID	IP	CONTENT
1	9	192.168.1.10	fdsa
2	7	192.168.1.10	f
3	8	192.168.1.10	a
4	10	192.168.1.10	af
5	6	192.168.1.112	fa
6	5	192.168.1.112	sa
7	4	192.168.1.112	sa
8	1	192.168.1.110	a
9	2	192.168.1.110	ff
10	3	192.168.1.111	b

0
鉴客
鉴客

用GROUP BY做分组

SELECT IP FROM table1 GROUP BY IP ORDER BY COUNT(id) DESC;
0
cooc123
cooc123

这是你的sql排序的结果

我要每条记录都显示


192.168.1.10 有4条 排序了只有一条了

0
赵国鑫
赵国鑫
select count(ip) from t_mblog group by ip
ORDER BY count(ip) desc
0
cooc123
cooc123

上面2为好像没看懂我意思

 

我的最终结果是

 

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

192.168.1.112     sa

。。。。

这样排序下去

0
cooc123
cooc123

引用来自“恋恋美食”的答案

用个子查询:

SELECT a.id, a.ip, a.content

FROM test_table a,

     (SELECT ip, COUNT(ip) NUM FROM test_table GROUP BY ip) b

WHERE a.ip = b.ip

ORDER BY b.num DESC

   	ID	IP	CONTENT
1	9	192.168.1.10	fdsa
2	7	192.168.1.10	f
3	8	192.168.1.10	a
4	10	192.168.1.10	af
5	6	192.168.1.112	fa
6	5	192.168.1.112	sa
7	4	192.168.1.112	sa
8	1	192.168.1.110	a
9	2	192.168.1.110	ff
10	3	192.168.1.111	b

谢了,是我要的效果,但sql 没怎么看懂。。
0
佳期如梦
佳期如梦

你的sql语句也太薄弱了

0
cooc123
cooc123

引用来自“冯阳”的答案

你的sql语句也太薄弱了

返回顶部
顶部