Sobes.tech
Middle

Как в SQL да броим уникалните двойки стойности при повтарящи се user_id и device_id?

sobes.tech AI

Отговор от AI

За да преброите броя на уникалните двойки (user_id, device_id) в SQL, като се има предвид, че user_id и device_id могат да се повтарят, трябва да използвате конструкцията с COUNT(DISTINCT ...). Например:

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

В някои системи за управление на бази данни, като PostgreSQL, тази синтаксис е директно поддържана. Ако вашата СУБД не поддържа COUNT(DISTINCT) с няколко колони, можете да съедините стойностите в един низ:

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

Или да използвате подзаявка с групиране:

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

Това ще ви позволи да получите броя на уникалните съчетания на user_id и device_id.