Главная SQL count()
E-mail Печать PDF

COUNT() - данная функция возвращает количество строк, которые соответствует определенным критериям.

Синтаксис SQL COUNT(column_name)

COUNT(COLUMN_NAME) - функция возвращает определенная количество записей (NULL значения не будут учитываться) конкретного столбца:

SELECT COUNT(column_name) FROM table_name

Синтаксис SQL COUNT(*)

В COUNT (*) - функция возвращает все записи в таблице:

SELECT COUNT(*) FROM table_name

Синтаксис SQL COUNT(DISTINCT column_name)

COUNT(DISTINCT COLUMN_NAME) - возвращает только разные записи:

SELECT COUNT(DISTINCT column_name) FROM table_name

Note - Замечание: COUNT (DISTINCT) работает в ORACLE и Microsoft SQL Server, но не в Microsoft Access.

Пример SQL COUNT(column_name)

Есть следующая таблица "Orders":

O_IdOrderDateOrderPriceCustomer
1 2008/11/12 1000 Hansen
2 2008/10/23 1600 Nilsen
3 2008/09/02 700 Hansen
4 2008/09/03 300 Hansen
5 2008/08/30 2000 Jensen
6 2008/10/04 100 Nilsen

Теперь мы хотим подсчитать число заказов от клиента "Nilsen".

Выполним запрос:

1
2
SELECT COUNT(Customer) AS CustomerNilsen FROM Orders
WHERE Customer='Nilsen'

Результат запроса:

CustomerNilsen
2

Пример SQL COUNT(*)

Если не прописать условие WHERE Е.

1
SELECT COUNT(*) AS NumberOfOrders FROM Orders

Результат будет такой:

NumberOfOrders
6

Пример SQL COUNT(DISTINCT column_name)

Теперь мы хотим подсчитать количество уникальных клиентов в таблице "Orders".

Выполним запрос:

1
SELECT COUNT(DISTINCT Customer) AS NumberOfCustomers FROM Orders

Результат запроса:

NumberOfCustomers
3

Комментарии

 
+13 #1 Иван 2010-12-23 21:36 Не хватает описания фокусов типа

count(case when people.sex='м' then 1 else null end)

, а иногда дело полезное. Вот, кстати, здесь: ddev.ru/.../... пишут, видимо, более общо, правда, пример только один.
Цитировать
 
 
+1 #2 артем 2011-05-23 14:54 ивану: всегда можно написать условие where Цитировать
 
 
+2 #3 Ред 2011-06-23 22:40 не всегда написание условия where будет лучшим ходом (да и правильным).
если например у тебя в одном выводе сразу куча каунтов.
Цитировать
 
 
0 #4 Матвей 2011-08-14 22:06 А если нужна выборка всех клиентов с количеством заказов? Цитировать
 
 
+4 #5 Матвей 2011-08-14 22:51 например
elect Customer, COUNT(O_Id) as CountOrders
from Orders
group by Customer
order by CountOrders desc
Цитировать
 
 
-2 #6 jon 2011-12-27 20:14 как подсчитать количество записей с помощью spinner? Цитировать
 
 
-6 #7 Алексей 2012-01-03 14:54 Помогите упорному чайнику..
В попытках разобраться в PHP сломал голову, но не сдамся
Вот есть у меня БД, в ней есть таблица. Задача - вывести на экран количество строк этой таблицы.
Где-то в глубине своего мозга я понимаю, что это делается через функцию COUNT, но не могу домыслить что делать дальше? Куда это все прописывать… В общем в голове хаос, направьте на путь истинный, куда смотреть, что почитать чтобы понять что и куда вписывать.
Заранее благодарен, не судите строго
Цитировать
 
 
-6 #8 Алексей 2012-01-03 15:00 В это трудно поверить, но решение найдено. Использовал этот код:
Может какому-нибудь новичку вроде меня пригодится:)
Цитировать
 
 
+2 #9 nacgull 2012-03-20 10:38 Цитирую артем:
ивану: всегда можно написать условие where

Не всегда. Если само COUNT уже находится в секции WHERE - только форма, указанная Иваном подойдет. Пример:

UPDATE Base.Table_1, Base.Table_1 SET a = b, c = d WHERE id = 2 AND z = x AND y = 2
AND IF( Limited = 1 AND (SELECT COUNT(case when e = g then 1 else null end)), 1, 0 );

По-другому - слишком громоздко лепить дополнительное повторяющиеся условия главного WHERE
Цитировать
 

Авторизация

Nice Ajax Poll

Какое из моих расширений самое лучшее?

Статистика



Реклама