[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как подсчитать кол.-во полей равных определённому
grinat
Как подсчитать кол.-во полей равных определённому значению в бд mysql.
Есть таблица(table), в ней есть поле(category),а в этом поле много рядов с разными значениями. Нужно найти ряды с одинаковым значением и подсчитать их количество.


Этот код предполагаю использовать для доски объявлений, с его помощью подсчитывается кол.-во объявлений в категории, вот так:
Животные[1]
Электроника[12]

Для того чтобы минимизоровать кол.-во запросов к бд, я подумал что нужно выполнить запрос $zapros=mysql_fetch_array(mysql_query("SELECT category FROM `table`")), а затем после вывода названия категории выполнять цикл
PHP
>Электроника</a>[<?php 
while ($row=$zapros){
if(
$row['category']=50){
$i=$i+1;
}
}
echo 
$i;                    

где сравнивается значение ряда с нужным(в данном случае 50) и если результат положителен то счётки кол.-ва объявлений увеличивается на еденицу.

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





Спустя 2 минуты, 41 секунда (10.03.2009 - 19:55) waldicom написал(а):
SQL
select count(BLABLA) from table where BLUBLU?

Спустя 15 минут, 55 секунд (10.03.2009 - 20:11) grinat написал(а):
Цитата (waldicom @ 10.03.2009 - 16:55)
SQL
select count(BLABLA) from table where BLUBLU?

SELECT count( * ) FROM table WHERE category =50, подходит, спасибо, но если запросов такого рода будет больше 100 как это скажется на производительности?

Спустя 1 час, 57 минут, 18 секунд (10.03.2009 - 22:08) kirik написал(а):
grinat, а зачем их больше 100? Один раз сделал - в кэш, потом при надобности обновляешь.
ЗЫ. На сколько я помню, COUNT(*) работает быстро, если не стоит никаких условий.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.