GROUP_CONCAT
を使用します および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
これにより、コストのかかるサブクエリが回避され、この特定の問題に対しては一般的に効率的であることがわかります。
両方の関数のマニュアルページをチェックして引数を理解するか、この記事にアクセスして、MySQLでの時間枠変換 詳細については。