1. Dec 04

    Satt å vridde hodet litt på denne oppgaven fra NWF i dag. Der målet var å printe alle brukernavn med lik IP adresse i en tabell i MySQL. Trodde jeg hadde full orden på det når jeg skrev denne spørringen:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    SELECT user
    FROM users
    WHERE ip
       IN (
            SELECT ip
            FROM users
            GROUP BY ip
            HAVING COUNT(ip) > 1
           )
    ORDER BY user

    Den spørringen der skulle etter all min logiske sans fungere ypperlig. Noe som den egentlig gjør. Det hadde jeg funnet ut, om jeg ikke tabbet meg fullstendig ut på PHP fronten.

    Vell, tenkte jeg skulle dele dette med dere. Om dere kommer over samme oppgave. Slik er det altså dere finner motsatte av distinct i MySQL.

    Er det av ønske å komplisere spørringen litt, så fant jeg også ut av denne, under prosessen:

    1
    2
    3
    4
    5
    6
    7
    8
    
    SELECT u.user
    FROM users u
       INNER JOIN (SELECT ip
                          FROM users
                          GROUP BY ip
                          HAVING COUNT(ip) > 1) d
       ON u.ip = d.ip
    ORDER BY user

    \\ emneord: , ,