У меня есть следующий запрос:
mysql> select (select m.delay from messages m order by message_id desc limit 1) as Delay, s.min_delay, s.max_delay from statistics s order by s.date_hour desc limit 1;
+-------+-----------+-----------+
| Delay | min_delay | max_delay |
+-------+-----------+-----------+
| 10 | 7.00 | 12.00 |
+-------+-----------+-----------+
1 row in set (0.00 sec)
Что хорошо. Но мне нужно получить результаты в следующем формате:
Delay=10 Min_Delay=7.00 Max_Delay=12.00
Могу ли я сделать это с помощью concat?
Обычно вы делаете это преобразование на уровне приложения. Тем не менее, вы можете сделать это в MySQL, если вы хотите использовать concat()
:
select concat_ws(' ',
concat('Delay=', (select m.delay from messages m order by message_id desc limit 1)),
concat('Min_Delay=', s.min_delay),
concat('Max_Delay=', s.max_delay)
)
from statistics s
order by s.date_hour desc
limit 1
Других решений пока нет …