У меня есть 2 столовых устройства и локации. Мне нужен результат, как последние 5 записей deviceid, где admin id. в формате JSON таблицы, как показано ниже: устройства таблице:mysql запрос для получения последних записей для каждой категории
+-----------------------+
| id |device_id|adminid |
+-----------------------+
| 1 |eefdcdfs | admin1 |
| 2 |ffsdxwe2 | admin1 |
| 3 |aaqw35ds | admin2 |
| 4 |grfdr23f | admin2 |
| 5 |etdhy79e | admin3 |
+-----------------------+
места таблице:
+-----------------------------------------------------------------+
| lid|lat |long |time |deviceid |adminid |
+----+----------+----------+-------------------+---------+--------+
| 1 |17.4425358|78.3922061|2016-06-08 12:23:24|eefdcdfs | admin1 |
| 2 |17.4425358|78.3922061|2016-06-08 12:45:24|eefdcdfs | admin1 |
| 3 |17.4425358|78.3922061|2016-06-08 11:56:24|eefdcdfs | admin1 |
| 4 |17.4425358|78.3922061|2016-06-08 12:53:24|eefdcdfs | admin1 |
| 5 |17.4425500|78.3922342|2016-06-08 12:53:34|ffsdxwe2 | admin1 |
| 6 |17.4425342|78.3922546|2016-06-08 11:55:34|ffsdxwe2 | admin1 |
| 7 |17.4425562|78.3922657|2016-06-08 12:23:34|ffsdxwe2 | admin1 |
| 8 |17.4425223|78.3922675|2016-06-08 12:12:34|ffsdxwe2 | admin1 |
| 9 |17.4424856|78.3922307|2016-06-08 12:56:48|aaqw35ds | admin2 |
| 10 |17.4425453|78.3922087|2016-06-08 13:08:30|grfdr23f | admin2 |
| 11 |17.4425472|78.3922294|2016-06-08 13:15:54|etdhy79e | admin3 |
+----+----------+----------+-------------------+---------+--------+
ожидаемый результат:
+-----------------------------------------------------------------+
| lid|lat |long |time |deviceid |adminid |
+----+----------+----------+-------------------+---------+--------+
| 4 |17.4425358|78.3922061|2016-06-08 12:53:24|eefdcdfs | admin1 |
| 2 |17.4425358|78.3922061|2016-06-08 12:45:24|eefdcdfs | admin1 |
| 1 |17.4425358|78.3922061|2016-06-08 12:23:24|eefdcdfs | admin1 |
| 3 |17.4425358|78.3922061|2016-06-08 11:56:24|eefdcdfs | admin1 |
| 5 |17.4425500|78.3922342|2016-06-08 12:53:34|ffsdxwe2 | admin1 |
| 7 |17.4425562|78.3922657|2016-06-08 12:23:34|ffsdxwe2 | admin1 |
| 8 |17.4425223|78.3922675|2016-06-08 12:12:34|ffsdxwe2 | admin1 |
| 6 |17.4425342|78.3922546|2016-06-08 11:55:34|ffsdxwe2 | admin1 |
+----+----------+----------+-------------------+---------+--------+
Я попытался как:
select deviceid,CONCAT('[',CAST(lat AS CHAR),',',CAST(long AS
CHAR),'],') json from locations WHERE
admin_id='admin1'
AND `time` > DATE_SUB(NOW(),
INTERVAL 3 HOUR) ORDER BY time DESC limit 10;
Почему ваш ожидаемый результат d oes не имеют 'deviceid' 'aaqw35ds', 'grfdr23f', 'etdhy79e'? – Blank