|
|
|
| Есть таблица вида:
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
---------------------------------------
что не так? | |
|
|
|
|
|
|
|
для: chexov
(02.09.2009 в 04:33)
| | поле заполнено, означает что `pole1` IS NOT NULL , а не `pole1`!='' | |
|
|
|
|
|
|
|
для: Trianon
(02.09.2009 в 08:48)
| | Вы поправили синтаксис, но проблема не решилась теперь показывает 60, хотя заполнено 3 | |
|
|
|
|
|
|
|
для: chexov
(02.09.2009 в 08:58)
| | Я вовсе не синтаксис поправил, а Ваше описание.
заполненным полем называется поле, значение которого задано.
Значение поля с пустой строкой так и называется "пустая строка".
Соответственно, Вам стоит определиться, что у Вас за вариант, и описать его правильно. | |
|
|
|
|
|
|
|
для: Trianon
(02.09.2009 в 09:06)
| | у меня именно пустая строка а не NULL
Перефразирую вопрос: как посчитать количество всех pole1, pole2, pole3 которые не содержат пустых строк | |
|
|
|
|
|
|
|
для: chexov
(02.09.2009 в 09:17)
| | соответствующим выражением будет SUM(`pole1` <> '')
И между прочим сумма, которая не сумма, это количество. | |
|
|
|