Anda ingin menggunakan GROUP_CONCAT
dan SUBSTRING_INDEX
:
SUBSTRING_INDEX( GROUP_CONCAT(CAST(open AS CHAR) ORDER BY datetime), ',', 1 ) AS open
SUBSTRING_INDEX( GROUP_CONCAT(CAST(close AS CHAR) ORDER BY datetime DESC), ',', 1 ) AS close
Ini menghindari subkueri yang mahal dan menurut saya umumnya lebih efisien untuk masalah khusus ini.
Lihat halaman manual untuk kedua fungsi untuk memahami argumennya, atau kunjungi artikel ini yang menyertakan contoh cara melakukan konversi jangka waktu di MySQL untuk penjelasan lebih lanjut.