On Thu, 2004-07-01 at 10:03, rmck wrote:
> Hi,
> 
> I have a table with ip,port and I want to see the top ten Ip's with the most 
> entries? 
> Ip's can be in db many times...
> 
> Not the first distinct 10... Im stuck...
> 
> I have tried:
> mysql> select DISTINCT ip from iptable limit 10;                                     
>                                                                         
> +---------------+
> | ip           |
> +---------------+
> | 0.0.0.0       |
> | 10.0.1.42     |
> | 10.0.1.8      |
> | 10.1.1.1      |
> | 10.10.10.1    |
> | 10.115.94.193 |
> | 10.115.94.195 |
> | 10.115.94.40  |
> | 10.122.1.1    |
> | 10.20.7.184   |
> +---------------+
> 10 rows in set (0.04 sec)
>  
> mysql> 
> 
> But doesn't that just give the first 10 DISTINCT ip's?? 

Yes.  You need to count the number of times an IP appears and sort by
that count, then limit it:

    SELECT ip, COUNT(ip) as num
    FROM iptable
    GROUP BY ip
    ORDER BY num DESC
    LIMIT 10

-- 
. Garth Webb
. [EMAIL PROTECTED]
.
. shoes * éå * schoenen * ëí * chaussures * zapatos
. Schuhe * ÏÎÏÎÏÏÏÎÎ * pattini * é * sapatas * ÐÐÑÐÐÐÐ

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to