Форум » Вебмастер и вебдизайн » Языки программирования » Вывод 2х значений за один sql проход
Открыть Ответить

Вывод 2х значений за один sql проход

19.07.2009 20:20:00

Есть таблица файлов. Мне нужно вывести 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, в обширном смысле, плохо знаком!

Группа
Посетители
Пункты
772
Регистрация
01.06.2006
Пол
Мужчина
Из
Моздок
Предупреждения
Нет
sam07
sam07
3.91

3.91

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 записей

Группа
Клиент
Регистрация
24.07.2006
Пол
Мужчина
Предупреждения
Нет
Furry
Furry
3.05

3.05

Таким образом обратиться можно будет так:

$query = $db->sql_query([мой вариант запроса]);
$result = $db->sql_fetchrow($query);

$status_0_count = $result[0][0];
$status_1_count = $result[1][0];

Как-то так, во первых уже не использую SLAED, мог забыть его класс базы данных, а во вторых мог ошибиться в коде. Но сам запрос 100% рабочий, проверил через Phpmyadmin.

Группа
Клиент
Регистрация
24.07.2006
Пол
Мужчина
Предупреждения
Нет
Furry
Furry
3.05

3.05

19.07.2009 20:39:24 19.07.2009 20:39:39

О, спасибо за оператичность

во первых уже не использую SLAED

да я тоже не про Слаед речь веду Смайл - 13

Группа
Посетители
Пункты
772
Регистрация
01.06.2006
Пол
Мужчина
Из
Моздок
Предупреждения
Нет
sam07
sam07
3.91

3.91

19.07.2009 20:41:52 19.07.2009 20:44:21

А если 3 значения, как при это будет выглядеть запрос?
Например добавим еще active='2'
========

ступил, вопрос снимаю...

Группа
Посетители
Пункты
772
Регистрация
01.06.2006
Пол
Мужчина
Из
Моздок
Предупреждения
Нет
sam07
sam07
3.91

3.91

Открыть Ответить
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь