Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: count одним запросом разные подсчёты

Сообщения:  [1-5] 

 
 автор: Crux   (01.07.2006 в 08:18)   письмо автору
 
   для: Trianon   (30.06.2006 в 21:57)
 

бл.. однако я туплю.
спасибо

   
 
 автор: Trianon   (30.06.2006 в 21:57)   письмо автору
 
   для: Crux   (30.06.2006 в 21:07)
 

Я и показал одним запросом.
Вот Ваш вариант:
<?
$sql
="SELECT count(status) as status_read FROM tbl WHERE status=new";
$res mysql_query($sql) or die("Error in $sql"mysql_error());
$new mysql_result($res0);

$sql="SELECT count(status) as status_read FROM tbl WHERE status=read";
$res mysql_query($sql) or die("Error in $sql"mysql_error());
$read mysql_result($res0);
?>

Вот мой вариант.
Запрос здесь один, и вернет он максимум две строки. Если у Вас всего два разных значения.
<?
$sql
="SELECT status, count(status) as num FROM tbl GROUP BY status";
$res mysql_query($sql) or die("Error in $sql"mysql_error());
$new $read 0;
while(
$row mysql_fetch_assoc($res)) 
  if((
$status $row['status']) != '')
     $
$status $row[$num]; 
?>

   
 
 автор: Crux   (30.06.2006 в 21:07)   письмо автору
 
   для: Trianon   (30.06.2006 в 18:33)
 

нет, я о другом.

поле естественно не одно, но это не имеет значение.

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

двумя запросами это делается легко


//один запрос
$query_new ="SELECT count(status) as status_new FROM tbl WHERE status=new"

//второй запрос
$query_read="SELECT count(status) as status_read FROM tbl WHERE status=read"


а хочется одним запросом:(

   
 
 автор: Trianon   (30.06.2006 в 18:33)   письмо автору
 
   для: Crux   (30.06.2006 в 18:23)
 

Поле - одно.
А число строк можно определить, сгруппировав результат по этому полю.

SELECT status, count(status) as num 
FROM tab
GROUP BY status;

   
 
 автор: Crux   (30.06.2006 в 18:23)   письмо автору
 
 

есть таблица в которой есть поле status, которое принимает два значения new и read.

мне необходимо (желательно) одним запросом посчитать сколько полей со значением new и read в отдельности.

   

Сообщения:  [1-5] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования