Tabella:
Codice PHP:
CREATE TABLE `online` (
    `
id_nicksmallint unsigned NOT NULL default '1',
    `
nickvarchar(25NOT NULL default '',
    `
ipvarchar(40NOT NULL default '',
    `
timeint unsigned NOT NULL default '0',
    `
visibletinyint NOT NULL default '0' -- utente invisibile privato )
)
TYPE=MyISAM DEFAULT CHARSET=utf8

Query:
Codice PHP:
SELECT
    COUNT
(n1.nick) as num_guests// Questo campo seleziona i guest
    
COUNT(n2.nick) as num_hidden// Questo gli utenti "invisibili"
    
COUNT(n3.nick) as num_users // questo il numero di utenti "visibili"

FROM     online as n1 
LEFT JOIN online 
as n2 ON n2.visible // Seleziona il numero di utenti "invisibili"
LEFT JOIN online as n3 ON n3.nick <> 'guest' AND n3.visible 0  // Seleziona gli utenti "visibili che non sono guest
WHERE n1.nick 'guest'// Seleziona i guest 
Peccato che la query non funziona, mi restituisce 0 sugli utenti "invisibili" e 0 su quelli "visibili". Sui guest funziona...