Есть таблица файлов. Мне нужно вывести 2 значения: COUNT(id) активных файлов и COUNT(id) неактивных, соответственно!
Делаю я это 2мя запросами
SELECT COUNT(id) FROM files WHERУ active='1' и
SELECT COUNT(id) FROM files WHERУ active='0'
В результате имеем 2 запроса, как ни странно :))
ВОПРОС:
Как я могу за один проход посчитать эти 2 значения?
PS Пробовал использовать UNION>? но не вышло. Я с синтаксисом и правилами SQL, в обширном смысле, плохо знаком!
Открыть
Ответить
Вывод 2х значений за один sql проход
SELECT active, COUNT(id) as "count"<br />
FROM `files`<br />
WHERE active = 1 OR active = 0<br />
GROUP BY active;
В итоге получаешь двухмерный массив такого вида:
active | count
0 | f записей
1 | n записей
Таким образом обратиться можно будет так:
$query = $db->sql_query([мой вариант запроса]);
$result = $db->sql_fetchrow($query);
$status_0_count = $result[0][0];
$status_1_count = $result[1][0];
Как-то так, во первых уже не использую SLAED, мог забыть его класс базы данных, а во вторых мог ошибиться в коде. Но сам запрос 100% рабочий, проверил через Phpmyadmin.
Открыть
Ответить








