Как распечатать уникальные элементы, а также посчитать частоту в sql? - PullRequest
0 голосов
/ 10 января 2019

У меня есть таблица, подобная следующей,

Name  ActionCategory
Ana    1
Joe    2
Bob    1
Tom    3
Joe    4
Ana    5
...

Я хочу написать SQL, который может найти уникальные имена и подсчитать количество появлений. Ожидаемый результат как:

Name     Appearance
Ana      2
Joe      2
Bob      1
Tom      1

Я могу напечатать уникальные имена, используя следующий sql, может кто-нибудь сказать мне, как посчитать появление?

SELECT 
   DISTINCT(Name) as UniqueNames
FROM
   tableName

Спасибо

Ответы [ 5 ]

0 голосов
/ 10 января 2019

Вам нужно будет использовать отличное от группы для получения количества появлений, как показано ниже:

SELECT distinct(Name), count(Name) as 'Appearance' from test_table group by Name;
0 голосов
/ 10 января 2019

Этого можно добиться, просто выполнив следующий запрос

SELECT 
      Name as UniqueNames, count(Name) as occurrences
FROM
      tableName
HAVING occurrences > 0 --you may ignore this condition
GROUP BY Name
ORDER BY UniqueNames
0 голосов
/ 10 января 2019

Вы можете использовать group by

   SELECT Name , count(Name) as Appearance 
      FROM yourtable
    GROUP BY NAME
0 голосов
/ 10 января 2019

Вы можете использовать это:

SELECT 
   Name, count(Name) as TotalAppearance
FROM
   tableName
group by Name
having count(Name) > 0
order by TotalAppearance desc;

Вы также можете использовать заказ.

0 голосов
/ 10 января 2019

Вы можете попробовать использовать статистическую функцию count () ниже и применить группу к

SELECT 
   Name,count(Name) as UniqueNames
FROM
   tableName
group by Name
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...