Sobes.tech
Middle

Come contare le coppie di valori unici in SQL quando ci sono user_id e device_id ripetuti?

sobes.tech AI

Risposta dell'AI

Per contare il numero di coppie uniche (user_id, device_id) in SQL, considerando che user_id e device_id possono ripetersi, bisogna usare la costruzione con COUNT(DISTINCT ...). Ad esempio:

SELECT COUNT(DISTINCT user_id, device_id) AS unique_pairs_count
FROM your_table;

In alcuni sistemi di gestione di database, come PostgreSQL, questa sintassi è supportata. Se il sistema non supporta COUNT(DISTINCT) con più colonne, puoi unire i valori in una singola stringa:

SELECT COUNT(DISTINCT CONCAT(user_id, '_', device_id)) AS unique_pairs_count
FROM your_table;

Oppure usare una sottoquery con raggruppamento:

SELECT COUNT(*) AS unique_pairs_count
FROM (
  SELECT user_id, device_id
  FROM your_table
  GROUP BY user_id, device_id
) AS unique_pairs;

Questo ti permetterà di ottenere il numero di combinazioni uniche di user_id e device_id.