SQL

Сколько записей в базе данных данной структуры. Как узнать

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

Для той или иной ситуации, чтобы узнать сколько записей в базе данных, можно использовать всего одну функцию COUNT. Функция одна, но использовать ее можно по-разному. Например:

  • если функцию COUNT использовать в запросе в «чистом» виде без дополнительных условий, тогда можно подсчитать абсолютно все записи в таблице;

  • функцию COUNT можно использовать совместно с командой WHERE, где в команде WHERE указываются условия, по которым вести подсчет записей в таблице.

Чуть ниже рассмотрим несколько простых примеров, как определить сколько записей содержится в базе данных.

Определяем сколько записей в базе данных

Представим, что наша база данных содержит некую таблицу, где мы ведем учет своих клиентов.  Итак, наша таблица «customers» выглядит следующим образом:

Идентификатор, ID

Customers_name

Customers_age

Customers_purchase

1

Дмитрий Федорович

24

4000

2

Петр Алексеевич

26

5000

3

Василий Алибабаевич

24

5000

4

Николай  Павлович

31

10000

5

Иван Николаевич

28

5000

6

Кирилл Мефодиевич 

29

10000

 

Естественно, строк и столбцов в таблице с клиентами может быть очень много. Давайте посмотрим, как можно считать записи в таблице, используя разные вариации функции COUNT и ее условий.

К примеру, мы можем посчитать всех покупателей, у которых возраст будет 24 года. В этом случай SQL-запрос будет таким:

SELECT COUNT(*) as count FROM customers WHERE customers_age=24

 

В ответ на данный запрос мы получим результат «2», потому что в нашей таблице есть всего 2 покупателя с таким возрастом.

Мы можем посчитать количество разных чеков наших покупателей. То есть мы будем считать количество разных сумм, которые оставили наши клиенты. Код SQL-запроса будет следующий:

SELECT COUNT(DISTINCT customers_purchase) as count FROM customers

В ответе на данный запрос мы получим ответ 3, потому что в нашей таблице всего 3 разных объема покупок: 4000, 5000 и 10000.

С помощью COUNT можно составлять и более сложные SQL-запросы. Например, в одном запросе мы можем посчитать сколько у нас разных возрастов в таблице и сколько у нас разных чеков покупки. В этом случае SQL-запрос будет выглядеть следующим образом:

SELECT

  COUNT(DISTINCT costumers_age) as count_first,

  COUNT(DISTINCT costumers_purchase) as count_second

FROM costumers

 

В результате такого запроса мы получим два столбца с названиями «count_first» с количеством возрастов «5» и «count_second» с количеством разных чеков «3».

Мы можем подсчитать общее количество записей в базе данных без особых условий. В этом случае SQL-запрос будет выглядеть следующим образом:

SELECT COUNT(*) as count FROM costumers

В ответ на этот запрос мы получим цифру «6», так как в нашей таблице всего 6 записей. Но тут есть одна хитрость. Когда мы указываем символ «*»(звездочка), тогда мы активируем подсчет абсолютно всех записей, даже тех, которые содержат в своих аргументах «NULL». Но  вам не всегда нужно подсчитывать строки с «нулевым» значением. В этом случае в качестве аргумента функции COUNT нужно указать идентификатор какого-то столбца, тогда в результате будут отражаться только строки, которые содержат какие-то данные в указанном столбце. Например:

SELECT COUNT(customers_purchase) as count FROM costumers

 В этом случае в результате мы получим сколько записей в базе данных имеют заполненные ячейки в столбце «customers_purchase». Важно помнить об этом. Потому что подсчеты строк в обоих случаях могут отличаться. К примеру, пользователь не совершил покупку, поэтому в столбце «customers_purchase» не заполнена ячейка. В этом случае при подсчете с COUNT(*) она попадет в результат, а при подсчете COUNT(customers_purchase) — нет.

Заключение

Как посчитать, сколько  записей в базе данных? Самый верный способ — это использовать функцию COUNT. С помощью этой функции можно посчитать абсолютно все записи в базе данных: со значениями «NULL» и «NOT NULL». Помимо этого, совместно с функцией COUNT можно использовать команду WHERE и задавать условия подсчета записей, что делает работу функции COUNT очень гибкой.

Схожие статьи

MySQL: добавить столбец в таблицу, как переименовать и изменить поле
SQL

MySQL: добавить столбец в таблицу, как переименовать и изменить поле

Подключение к базе данных MySQL на Python: создание на SQLite3
SQL

Подключение к базе данных MySQL на Python: создание на SQLite3

SQL

MS SQL: как изменить тип столбца и создать временную таблицу

Что такое MariaDB, где используется эта система управления
SQL

Что такое MariaDB, где используется эта система управления

×