Sobes.tech
Middle

Kaip skaičiuoti unikalius porinius reikšmių SQL, kai yra kartojasi user_id ir device_id?

sobes.tech AI

Atsakymas iš AI

Norint suskaičiuoti unikalių porų (user_id, device_id) skaičių SQL, atsižvelgiant į tai, kad user_id ir device_id gali kartotis, reikia naudoti COUNT(DISTINCT ...) konstrukciją. Pavyzdžiui:

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

Kai kuriuose duomenų bazių valdymo sistemose, pavyzdžiui, PostgreSQL, ši sintaksė yra tiesiogiai palaikoma. Jei jūsų SGBD nepalaiko COUNT(DISTINCT) su keliomis stulpeliais, galite sujungti reikšmes į vieną eilutę:

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

Arba naudoti poįvadą su grupavimu:

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

Tai leis jums gauti unikalių user_id ir device_id derinių skaičių.