MySQL (таблица):
+----+------+ | id | text | +----+------+ | 1 | | +----+------+ | 2 | blah | +----+------+ | 3 | | +----+------+ | 4 | blah | +----+------+ | 5 | blah | +----+------+
PHP:
$a = mysql_query("SELECT COUNT(*) AS count1 FROM `table`"); $b = mysql_fetch_assoc($a); echo $b['count1'];
Вывод:
5
Тем не менее, я также хочу подсчитать заполненные текстовые поля – в том же запросе, если это возможно.
Результат:
5 in total 3 with filled text fields
SELECT COUNT(*) AS `total`, SUM(IF(`text` <> "",1,0)) AS `non_empty` FROM `table`
Это может быть выполнено довольно хорошо с подзапросами.
SELECT COUNT(id) AS id, COUNT(SELECT text FROM 'table' WHERE text IS NOT NULL) AS t FROM 'table'
Примечание для себя: начинайте корректуру своей работы перед ее отправкой.