Du vill använda GROUP_CONCAT
och 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
Detta undviker dyra underfrågor och jag tycker att det generellt sett är mer effektivt för just detta problem.
Kolla in manualsidorna för båda funktionerna för att förstå deras argument, eller besök den här artikeln som innehåller ett exempel på hur du gör tidsramkonvertering i MySQL för fler förklaringar.