@FaulerAffe
-

Почему мой запрос выдаёт ошибку?

У меня есть таблица с такими колонками: (id int, str varchar). Как можно вывести общее количество строк, где id равен какому-то числу (нужен формат id, количество строк)? Я пытался сделать так:
select id, count(*) from table where id=10;
Тут psql мне говорит, что id должен участвовать в group_by или агрегатной функции. Что я делаю не так?

Также интересно, как получить количество строк с уникальными id. Я нашел функцию distinct, но она возвращает сами строки, а не их количество. Можно как-то получить именно число?
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
AnatolTh
@AnatolTh
Full Stack Developer
SELECT id, COUNT(id) FROM table WHERE id=10 GROUP BY id;

SELECT COUNT(DISTINCT id) FROM table;
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
tsklab
@tsklab
Здесь отвечаю на вопросы.
select 10, count(*) from table where id=10
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы