2013-02-24 2 views
0

У меня есть этот запрос в PHP файле:Сортировка по конкретному идентификатору, а не по общей колонке

SELECT COUNT(pilotid) as total, depicao FROM db_pireps 
GROUP BY depicao ORDER BY total DESC 
LIMIT 5 

В моем HTML, я затем получить результаты из базы данных и использовать foreach($fav_deps as $departure)

$fav_deps = DB::get_results($dep_query); 

Внутри foreach строка генерируется для каждой записи. В одной колонке следует рассчитать количество вылетов пилота из указанного аэропорта. Тем не менее, $departure->total предполагает фактический общий вылет из аэропорта, и я бы хотел сделать так, чтобы он подсчитал общий вылет за pilotid из указанного аэропорта, который в этом случае составляет depicao. Как я могу это достичь?

<td width="20%"><?php echo $departure->total; ?></td> 

Кроме того, я приложил скриншот, чтобы проиллюстрировать структуру структуры db_pireps.

table

+0

Не могли бы вы привести пример результата, который вы хотели бы (т. Е. Какие столбцы)? –

+0

Есть 4 колонки. ИКАО код аэропорта, название страны, название аэропорта и общее количество отправлений. i.e 'EGGP Liverpool Airport Соединенное Королевство 14'. Но число '14' - это сумма всех вылетов для всех, и я хотел бы, чтобы это было специфично для' pilotid'. – zzwyb89

+0

Значит, вы хотите использовать пилотид как колонку? –

ответ

0

Вы должны группировать по pilotid тоже, и выберите этот столбец, таким образом, вы получите результат, который вы хотели.

SELECT COUNT(pilotid) as total, depicao, pilotid FROM db_pireps GROUP 
BY depicao, pilotid ORDER BY total DESC LIMIT 5 

Если вы идете через результат этого, $departure->total будет содержать значение только для данного пилота.

+0

Это работает, но теперь я получаю дубликаты записей, я предполагаю, что это потому, что он считает и других пилотов? Он должен учитывать только один пилот, так же как отображение статистики профиля пилота. – zzwyb89

+0

Однако '$ userinfo-> pilotid' должен ограничивать его заданным пилотом. Как я могу объединить его с '$ departure-> total'? – zzwyb89

Смежные вопросы