Наиболее эффективный способ возврата средних значений + числа из 3 столбцов (с предложениями на каждом) - PullRequest
0 голосов
/ 06 сентября 2011

У меня есть полусложный запрос, который мне нужно выполнить, который извлекает данные из трех столбцов (идея, исполнение и рынок). У меня он работает для 1 столбца независимо, и теперь мне нужно адаптировать его для работы для всех 3 столбцов. Есть ли более эффективный способ справиться с этой ситуацией, или я должен просто выполнить 3 запроса подряд?

Вот единственный запрос, который работает:

function returnRatings($id) {
    $this->db->select('COUNT(*) AS ideacount');
    $this->db->select_avg('idea','ideaavg');
    $this->db->where('startupid',$id);
    $this->db->where('idea >', '0');

    $query = $this->db->get('ratings');

    return $query->row();
}

Мне также нужно получить те же данные для столбцов «рынок» и «исполнение» (среднее число строк + общее количество строк, где столбец> 0). Сложность в том, что для каждого извлечения данных мне нужен пункт, который говорит:

ГДЕ столбец> 0

Для учета случая, когда они решили голосовать в одних категориях, но не в других. У кого-нибудь есть предложения?

1 Ответ

2 голосов
/ 06 сентября 2011

Если я правильно понимаю, кажется, что нет никакой корреляции для вероятности наличия трех столбцов в столбце> 0. В этом случае, я не думаю, что можно добиться большого ускорения при выполнении этого как одного запроса, а чем как 3.

На вашем месте я бы написал 3 запроса и посмотрел, приемлемо ли это быстрая операция. Если это так, то это может быть лучшим и легким для чтения вариантом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...