Sobes.tech
Middle

Kuidas SQL-is arvutada unikaalseid väärtuste paare, kui user_id ja device_id on korduvad?

sobes.tech AI

Vastus AI-lt

SQL-is, et arvutada unikaalsete paari (user_id, device_id) arv, ar ar to, et user_id ja device_id võivad korduda, tuleb kasutada konstruktsiooni COUNT(DISTINCT ...). Näiteks:

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

Mõnes andmebaasisüsteemis, näiteks PostgreSQL, on see süntaks otse toetatud. Kui teie SGBD ei toeta COUNT(DISTINCT) mitme veeruga, saate väärtused ühendada üheks stringiks:

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

Või kasutada alamküsitlust koos rühmitamisega:

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

See võimaldab teil saada unikaalsete user_id ja device_id kombinatsioonide arvu.