Определите количество каждого отдельного значения в одном столбце в sqlite3 - PullRequest
0 голосов
/ 22 апреля 2019

Я пытаюсь определить количество каждого отдельного значения в одном столбце (name) в таблице с именем brgy.

---------------------
| ID  |  name        |
---------------------    
| 1   |   Alfonso    |
| 2   |   Arakan     |
| 3   |   Poblacion  |
| 4   |   Ilaya      |
| 5   |   Poblacion  |
----------------------

Я пытался использовать этот код, но он продолжает давать COUNT как 1, несмотря на то, что Poblacion дважды появляется в столбце name:

SELECT name,COUNT(name) AS distinct_name
FROM (
  SELECT DISTINCT name
  FROM brgy
  GROUP BY name
)
GROUP BY name;

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

Ожидаемый результат следующий,

-----------------------------
| name      | distinct_name |
-----------------------------  
| Alfonso   |    1          |
| Arakan    |    1          |
| Ilaya     |    1          |
| Poblacion |    2          |
-----------------------------

Ответы [ 2 ]

1 голос
/ 22 апреля 2019

Простой GROUP BY name:

SELECT name, COUNT(name) AS distinct_name
FROM brgy
GROUP BY name;

вам не нужен подзапрос:

SELECT DISTINCT name FROM brgy GROUP BY name

потому что GROUP BY name позаботится об этом.

0 голосов
/ 22 апреля 2019

Только что удалили подзапрос, потому что он даст вам уникальную запись:

select name, count(*) as distinct_name
from brgy 
group by name
order by distinct_name, name;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...