Oracle / SQL - подсчет количества вхождений значений в одном столбце - PullRequest
13 голосов
/ 19 января 2011

Хорошо, возможно, я мог бы придумать лучшее название, но не знал, как это сказать, поэтому позвольте мне объяснить.

Скажем, у меня есть таблица с колонкой "КОД". Каждая запись в моей таблице будет иметь значение «A», «B» или «C» в качестве значения в столбце «CODE». То, что я хотел бы получить, это подсчитать, сколько у меня «А», «В» и «С».

Я знаю, что мог бы выполнить это с 3 различными запросами, но мне интересно, есть ли способ сделать это только с 1.

1 Ответ

40 голосов
/ 19 января 2011

Использование:

  SELECT t.code,
         COUNT(*) AS numInstances
    FROM YOUR_TABLE t
GROUP BY t.code

Вывод будет выглядеть следующим образом:

code   numInstances
--------------------
A      3
B      5
C      1

Если существует код, который не использовался, он не будет отображаться.Вам нужно СЛЕДУЕТ ПРИСОЕДИНИТЬСЯ к таблице, содержащей список кодов, чтобы увидеть те, у которых нет ссылок.

...