ロケーションとパイロットという 2 つのテーブルがあります。location_id に基づいてデータを取得しようとしています。つまり、特定の location_id 順で飛行しているパイロットを日付 (スケジュールの日付) で選択しています。
個別のパイロットのみを表示する必要があるため、group by を使用しています。
select B.*,
A.rather_to_be_flying_now,
A.here_now,
A.flying,
A.when,
A.my_favorite,
A.start,
A.end,
A.Locationid
from locations A
inner join pilots B
on A.Pilotid=B.pilot_id
where A.VenueID='$venueid'
and (A.flying='1' or A.here_now='1')
group by A.Pilotid
ORDER BY A.start
group by 句を含めない場合、クエリはうまく機能します。次の結果を返します
group by 句なし
group by 句を使用
しかし、上記の表は間違った順序を示しています。出力は、パイロット ID 1 の開始時刻を2013-01-24 02:00:00として返す必要があるためです (時系列順)。