Voici le moyen facile:
SELECT
t.login_name
,COUNT(t.id) AS login_counts
,MAX(t.login_time) AS latest_login_time
FROM this_table AS t
GROUP BY t.login_name
ORDER BY login_counts DESC, login_name
;
La première ligne vous donne la login_name
avec le plus logins.
Et voici la dure:
SELECT
t.login_name
,MAX(t.login_time) AS latest_login_time
FROM this_table AS t
INNER JOIN (
-- Determine who has the most logins
SELECT TOP 1 x.login_name, COUNT(x.id) AS login_count
FROM this_table AS x
GROUP BY x.login_name
ORDER BY login_count DESC -- to get the highest counts first
) AS m
ON t.login_name = m.login_name
GROUP BY t.login_name
;
Que vous obtient un nom et la date, et voilà, si elle ne prend pas en compte la possibilité qu'il pourrait y avoir plus de 1 nom avec le maximum nombre de connexions. Je vais vous laisser le soin de comprendre.
Que voulez-vous dire par « temps de connexion maximale »? – BoltClock
Quelle variante SQL? Les réponses seront différentes pour mysql, t-sql, etc –
Nombre maximum de connexions peut-être? –