doniyorbekm
@doniyorbekm
Yii-шник

Сравнение массивов?

Привет всем!

Есть таблица в БД с полями:
id - автоинкремент, 
subscriber_id - число (может повторяться), 
alive - жива ли запись (может принимать 1 или ноль)


Я хочу сравнить общее количество каждого subscriber_id и общее количество нулей для каждого subscriber_id

Сейчас в базе такие данные:
id   | subscriber_id | alive
33  | 15               | 0
34  | 15               | 0


Делаю такое сравнение:
$subSessCount = Sessions::find()->where(['subscriber_id'=>$sub->id])->asArray()->all();
            $subSessDead = Sessions::find()->where(['subscriber_id'=>$sub->id, 'alive'=>0])->asArray()->all();
            if(count($subSessCount) == count($subSessDead)) {
                $i++;
            }

Ответ сервера: 4. Почему??? В базе всего две строчки с нулями...
  • Вопрос задан
  • 96 просмотров
Решения вопроса 1
Одним запросом
SELECT COUNT(subscriber_id) as subscriber_count, subscriber_id, SUM(alive)
FROM table
GROUP BY subscriber_id

Считаем сколько alive=1 и вычитаем из subscriber_count
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы