Bạn muốn sử dụng GROUP_CONCAT
và 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
Điều này tránh được các truy vấn phụ tốn kém và tôi thấy nó thường hiệu quả hơn cho vấn đề cụ thể này.
Kiểm tra các trang hướng dẫn sử dụng cho cả hai hàm để hiểu các đối số của chúng hoặc truy cập bài viết này bao gồm một ví dụ về cách thực hiện chuyển đổi khung thời gian trong MySQL để được giải thích thêm.