Обновлено:

Подсчёт количества записей

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

Как посчитать количество записей в SQL

SQL – язык запросов к реляционным базам данных. Функция COUNT – основной инструмент подсчёта строк.

Базовый подсчёт всех записей

SELECT COUNT(*) FROM таблица;

Звёздочка * означает «считать все строки», включая те, где есть значения NULL. Это самый быстрый способ узнать общий объём данных.

Подсчёт по столбцу

SELECT COUNT(email) FROM клиенты;

Подсчёт по конкретному столбцу исключает строки со значением NULL. Если в столбце email у 5 клиентов пустое поле, COUNT(email) вернёт результат на 5 меньше, чем COUNT(*).

Подсчёт уникальных записей

SELECT COUNT(DISTINCT город) FROM клиенты;

Ключевое слово DISTINCT убирает дубликаты перед подсчётом. Полезно для определения количества уникальных значений: городов, категорий, статусов.

Подсчёт с условием

SELECT COUNT(*) FROM заказы WHERE статус = 'выполнен';

Условие WHERE фильтрует строки до подсчёта. Результат – количество записей, соответствующих критерию.

Несколько условий в одном запросе

SELECT
  COUNT(*) AS всего,
  COUNT(CASE WHEN статус = 'выполнен' THEN 1 END) AS выполнено,
  COUNT(CASE WHEN статус = 'в работе' THEN 1 END) AS в_работе
FROM заказы;

Конструкция CASE внутри COUNT позволяет получить несколько подсчётов за один проход по таблице.

Подсчёт по группам

SELECT город, COUNT(*) AS количество
FROM клиенты
GROUP BY город;

GROUP BY разбивает записи на группы и считает количество в каждой. Результат – таблица с числом записей по городам, категориям или другому признаку.

Как посчитать количество записей в Excel

В Excel для подсчёта записей используют несколько функций, каждая со своей спецификой.

СЧЁТ – только числа

=СЧЁТ(A1:A100)

Функция СЧЁТ (в англоязычной версии COUNT) считает ячейки, содержащие числовые значения. Текст, пустые ячейки и значения ошибок игнорируются.

СЧЁТЗ – все непустые ячейки

=СЧЁТЗ(A1:A100)

СЧЁТЗ (COUNTA) считает все заполненные ячейки: числа, текст, даты, логические значения. Это основной инструмент для подсчёта записей в таблицах с текстовыми данными.

СЧЁТЕСЛИ – подсчёт по условию

=СЧЁТЕСЛИ(B1:B100; "выполнен")
=СЧЁТЕСЛИ(C1:C100; ">1000")

СЧЁТЕСЛИ (COUNTIF) считает ячейки, соответствующие одному критерию. Условие может быть точным совпадением, сравнением или шаблоном с подстановочными символами (*, ?).

СЧЁТЕСЛИМН – подсчёт по нескольким условиям

=СЧЁТЕСЛИМН(B1:B100; "выполнен"; C1:C100; ">1000")

СЧЁТЕСЛИМН (COUNTIFS) применяет несколько критериев одновременно. Каждая пара «диапазон – условие» сужает выборку.

Подсчёт уникальных записей

В Excel 365 и 2021:

=СЧЁТ(УНИК(A1:A100))

В более старых версиях – формула массива:

=СУММ(1/СЧЁТЕСЛИ(A1:A100; A1:A100))

Подсчёт записей в других инструментах

Google Таблицы

Основные функции аналогичны Excel: COUNT, COUNTA, COUNTIF, COUNTIFS. Дополнительная функция COUNTUNIQUE считает уникальные значения без сложных формул:

=COUNTUNIQUE(A1:A100)

Python

Библиотека pandas для анализа данных:

import pandas as pd

df = pd.read_csv('data.csv')
len(df)           # общее количество записей
df['город'].nunique()  # уникальные значения
df.groupby('город').size()  # по группам

Командная строка Linux

Подсчёт строк в CSV-файле:

wc -l data.csv

Команда wc -l считает количество переводов строк. Первая строка с заголовками учитывается, поэтому из результата вычтите 1 для получения числа записей.

Какой способ выбрать

ЗадачаИнструментФункция
Общее число строк в базеSQLCOUNT(*)
Записи без пустых полейSQLCOUNT(столбец)
Уникальные значенияSQLCOUNT(DISTINCT столбец)
Записи по условиюSQLCOUNT + WHERE
Число заполненных ячеекExcelСЧЁТЗ
Ячейки с числамиExcelСЧЁТ
Подсчёт по критериюExcelСЧЁТЕСЛИ
Уникальные в GoogleGoogle ТаблицыCOUNTUNIQUE
Строки в файлеLinuxwc -l
Анализ данныхPythonlen(df)

Типичные ошибки при подсчёте записей

NULL-значения. В SQL COUNT(столбец) пропускает NULL, а COUNT(*) – нет. Если столбец содержит пустые значения, результаты различаются. Решение – явно указывать * или столбец в зависимости от задачи.

Пустые ячейки в Excel. Функция СЧЁТ не считает ячейки с текстом. Если столбец содержит названия или статусы, используйте СЧЁТЗ.

Скрытые строки. Фильтр в Excel скрывает строки, но функции СЧЁТЗ и СЧЁТЕСЛИ считают и скрытые ячейки. Для подсчёта только видимых используйте ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3; диапазон).

Дублирование при объединении таблиц. SQL-запрос с JOIN может увеличить число строк, если в присоединяемой таблице несколько совпадений. Проверяйте результат через COUNT(*) до и после объединения.

Статья носит информационный характер. Актуальность функций и синтаксиса уточняйте в документации используемого инструмента.

Часто задаваемые вопросы

Чем отличается COUNT от COUNTA в Excel?

COUNT считает только числовые ячейки, а COUNTA – все непустые, включая текст и логические значения. Для подсчёта записей с текстом используйте COUNTA.

Как посчитать только уникальные записи?

В SQL – SELECT COUNT(DISTINCT столбец). В Excel – комбинация функций СУММ и СЧЁТЕСЛИ или функция УНИК в Office 365. В Google Таблицах – COUNTUNIQUE.

Можно ли посчитать записи по условию в SQL?

Да, используйте WHERE для фильтрации до подсчёта или CASE внутри COUNT для разных условий в одном запросе: COUNT(CASE WHEN условие THEN 1 END).

Почему COUNT(*) и COUNT(столбец) дают разные результаты?

COUNT(*) считает все строки, включая NULL. COUNT(столбец) пропускает строки со значением NULL в указанном столбце. Разница появляется только при наличии NULL.

  1. Подсчет строк: онлайн-инструменты и способы для текста, кода и таблиц