Vous souhaitez utiliser GROUP_CONCAT
et 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
Cela évite les sous-requêtes coûteuses et je trouve cela généralement plus efficace pour ce problème particulier.
Consultez les pages de manuel des deux fonctions pour comprendre leurs arguments, ou visitez cet article qui comprend un exemple de la façon de faire conversion des délais dans MySQL pour plus d'explications.