как получить результат sql в формате ниже

#mysql #sql

Вопрос:

У меня есть данные в базе данных mysql в формате ниже, и я пытаюсь получить результат в указанном формате

У меня есть данные в БД в формате ниже:

 **name, stockTimeInterval, date, stockTime, stockOpen** WIPRO, 5_min_stock_data, 2021-01-01 , 09:15:00, 385.05 WIPRO, 5_min_stock_data, 2021-01-01 , 09:20:00, 386.60 WIPRO, 5_min_stock_data, 2021-01-01 , 09:25:00, 387.45  WIPRO, 5_min_stock_data, 2021-02-01 , 09:15:00, 385.05 WIPRO, 5_min_stock_data, 2021-02-01 , 09:20:00, 386.60 WIPRO, 5_min_stock_data, 2021-02-01 , 09:25:00, 387.45  WIPRO, 5_min_stock_data, 2021-03-01 , 09:15:00, 385.05 WIPRO, 5_min_stock_data, 2021-03-01 , 09:20:00, 386.60 WIPRO, 5_min_stock_data, 2021-03-01 , 09:25:00, 387.45  

Вопрос: Как получить результат в формате:

 **name, stockTimeInterval, date, stockTime, stockOpen** WIPRO, 5_min_stock_data, 2021-01-01 , 09:15:00, 385.05 WIPRO, 5_min_stock_data, 2021-02-01 , 09:15:00, 385.05 WIPRO, 5_min_stock_data, 2021-03-01 , 09:15:00, 385.05  WIPRO, 5_min_stock_data, 2021-01-01 , 09:20:00, 386.60 WIPRO, 5_min_stock_data, 2021-02-01 , 09:20:00, 386.60 WIPRO, 5_min_stock_data, 2021-03-01 , 09:20:00, 386.60  WIPRO, 5_min_stock_data, 2021-01-01 , 09:25:00, 387.45 WIPRO, 5_min_stock_data, 2021-02-01 , 09:25:00, 387.45 WIPRO, 5_min_stock_data, 2021-03-01 , 09:25:00, 387.45  

Ответ №1:

Используйте двухуровневую сортировку:

 SELECT name, stockTimeInterval, date, stockTime, stockOpen FROM yourTable ORDER BY name, stockTimeInterval, stockTime, date;  

Обратите внимание, что stockTime это происходит до date того, как . Чаще всего дата и время находятся в одном поле даты и времени, а не в отдельных полях.