COUNT() - данная функция возвращает количество строк, которые соответствует определенным критериям.
Синтаксис SQL COUNT(column_name)
COUNT(COLUMN_NAME) - функция возвращает определенная количество записей (NULL значения не будут учитываться) конкретного столбца:
Синтаксис SQL COUNT(*)
В COUNT (*) - функция возвращает все записи в таблице:
Синтаксис SQL COUNT(DISTINCT column_name)
COUNT(DISTINCT COLUMN_NAME) - возвращает только разные записи:
- Замечание: COUNT (DISTINCT) работает в ORACLE и Microsoft SQL Server, но не в Microsoft Access.
Пример SQL COUNT(column_name)
Есть следующая таблица "Orders":
| O_Id | OrderDate | OrderPrice | Customer |
|---|---|---|---|
| 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".
Выполним запрос:
Результат запроса:
| CustomerNilsen |
|---|
| 2 |
Пример SQL COUNT(*)
Если не прописать условие WHERE Е.
Результат будет такой:
| NumberOfOrders |
|---|
| 6 |
Пример SQL COUNT(DISTINCT column_name)
Теперь мы хотим подсчитать количество уникальных клиентов в таблице "Orders".
Выполним запрос:
Результат запроса:
| NumberOfCustomers |
|---|
| 3 |
SQL count()





Комментарии
count(case when people.sex='м' then 1 else null end)
, а иногда дело полезное. Вот, кстати, здесь: ddev.ru/.../... пишут, видимо, более общо, правда, пример только один. Цитировать
если например у тебя в одном выводе сразу куча каунтов. Цитировать
elect Customer, COUNT(O_Id) as CountOrders
from Orders
group by Customer
order by CountOrders desc Цитировать
В попытках разобраться в PHP сломал голову, но не сдамся
Вот есть у меня БД, в ней есть таблица. Задача - вывести на экран количество строк этой таблицы.
Где-то в глубине своего мозга я понимаю, что это делается через функцию COUNT, но не могу домыслить что делать дальше? Куда это все прописывать… В общем в голове хаос, направьте на путь истинный, куда смотреть, что почитать чтобы понять что и куда вписывать.
Заранее благодарен, не судите строго Цитировать
Может какому-нибудь новичку вроде меня пригодится:) Цитировать
Не всегда. Если само 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 Цитировать