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

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

0

0

1
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, в обширном смысле, плохо знаком!

sam07
sam07
3.91

3.91

2
19.07.2009 20:33:56
Код
SELECT active, COUNT(id) as "count"
FROM `files`
WHERE active = 1 OR active = 0
GROUP BY active;

В итоге получаешь двухмерный массив такого вида:

active | count
0 | f записей
1 | n записей

Furry
Furry
3.05

3.05

3
19.07.2009 20:37:20

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

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

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

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

Furry
Furry
3.05

3.05

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

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

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

да я тоже не про Слаед речь веду 😉

sam07
sam07
3.91

3.91

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

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

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

sam07
sam07
3.91

3.91

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

Поделиться
QR-код

Предварительный просмотр