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

Форум MySQL

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

 

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

вид форума:
Линейный форум Структурный форум

тема: Посчитать сумму 3-х полей таблицы
 
 автор: chexov   (02.09.2009 в 04:33)   письмо автору
 
 

Есть таблица вида:

id | pole1 | pole2 | pole3


id номер записи
pole 1,2,3 поля данных
------------------------------------
как посчитать сумму всех ЗАПОЛНЕННЫХ pole1, pole2, pole3
т.е не сумму значений полей, а именно сколько полей заполнено

делал так:


<?
$q 
"SELECT COUNT(pole1),COUNT(pole2),COUNT(pole3) FROM table` WHERE `pole1`!='' OR `pole2`!='' OR `pole3`!=''";
$quer mysql_query($q);
$total mysql_fetch_assoc($quer);

echo 
$total['COUNT(pole1)']+$total['COUNT(pole2)']+$total['COUNT(pole3)']; 
?>


выдает 6 хотя заполненных полей всего 3, выдает 24 когда заполнены 14
---------------------------------------
что не так?

  Ответить  
 
 автор: Trianon   (02.09.2009 в 08:48)   письмо автору
 
   для: chexov   (02.09.2009 в 04:33)
 

поле заполнено, означает что `pole1` IS NOT NULL , а не `pole1`!=''

  Ответить  
 
 автор: chexov   (02.09.2009 в 08:58)   письмо автору
 
   для: Trianon   (02.09.2009 в 08:48)
 

Вы поправили синтаксис, но проблема не решилась теперь показывает 60, хотя заполнено 3

  Ответить  
 
 автор: Trianon   (02.09.2009 в 09:06)   письмо автору
 
   для: chexov   (02.09.2009 в 08:58)
 

Я вовсе не синтаксис поправил, а Ваше описание.
заполненным полем называется поле, значение которого задано.
Значение поля с пустой строкой так и называется "пустая строка".
Соответственно, Вам стоит определиться, что у Вас за вариант, и описать его правильно.

  Ответить  
 
 автор: chexov   (02.09.2009 в 09:17)   письмо автору
 
   для: Trianon   (02.09.2009 в 09:06)
 

у меня именно пустая строка а не NULL
Перефразирую вопрос: как посчитать количество всех pole1, pole2, pole3 которые не содержат пустых строк

  Ответить  
 
 автор: Trianon   (02.09.2009 в 09:48)   письмо автору
 
   для: chexov   (02.09.2009 в 09:17)
 

соответствующим выражением будет SUM(`pole1` <> '')

И между прочим сумма, которая не сумма, это количество.

  Ответить  
Rambler's Top100
вверх

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