Oggi vediamo il seguente esercizio di LeetCode a tema SQL:
Write a solution that will, for each user, return the number of followers.
Return the result table ordered by user_id in ascending order.
Guardando le tabelle fornite dall’esercizio si può notare che la tabella Followers contiene le informazioni sui follower: user_id (l’utente che viene seguito), follower_id (l’utente che segue).
L’obiettivo è contare il numero di follower per ogni utente. Poiché un utente può avere più follower, dobbiamo raggruppare per user_id e contare i follower distinti.
Detto ciò, la soluzione che proponiamo noi è la seguente:
SELECT user_id, COUNT(DISTINCT follower_id) AS followers_count
FROM Followers
GROUP BY user_idIn questa query:
COUNT(DISTINCT follower_id)conta i follower unici per ogni utenteGROUP BY user_idraggruppa i risultati per utente- Il risultato mostra per ogni user_id il numero di follower distinti
Questo è un semplice esercizio di aggregazione con GROUP BY.
Se hai dubbi in merito non esitare a contattarci sui nostri social, saremo più che felici di risponderti :)