Выбор последних 3 записей для столбца в MySQL - PullRequest
0 голосов
/ 16 июня 2020

Вот мой SQL запрос:

SELECT s.name,
       f.message,
       e.timestamp,
       e.result,
       o.details
FROM  event e
LEFT JOIN feed f ON e.id=f.id 
LEFT JOIN oper o ON o.id=e.id 
LEFT JOIN system s ON o.id=e.id 
WHERE (e.date = ’15-06-2020’)
AND e.oper_id IN (SELECT id from oper 
                               where state = ‘READY1’ or  state = ‘READY2’ or state = ‘READY2’
                               group by state
                               order by state)

Теперь у меня более 3 результатов в моей таблице e.results, однако я хотел взять только последние 3 результата (отсортируйте их по метке времени). Таким образом, мой окончательный результат из SQL должен иметь только последние 3 результата.

Я пробовал делать (выберите e.result из события ORDER BY DES C LIMIT 3) вместо e.result, который является не работает.

Есть идеи, как я могу этого добиться. Я запрашиваю MySQL.

1 Ответ

0 голосов
/ 16 июня 2020

сначала сделайте заказ в порядке убывания и установите ограничение на 3 в sql сразу после пункта order by. изменить столбец в подзапросе.

SELECT s.name,
   f.message,
   e.timestamp,
   e.result,
   o.details FROM event e
   LEFT JOIN feed f ON e.id=f.id 
LEFT JOIN oper o ON o.id=e.id 
LEFT JOIN system s ON o.id=e.id 
WHERE (e.date = ’15-06-2020’) AND
e.oper_id IN (SELECT id,state from oper 
   where state = ‘READY1’ or  state = ‘READY2’
   group by state order by state desc LIMIT 3)

попробуйте это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...