MYSQL - объединить 2 таблицы - отсортировать по времени - PullRequest
0 голосов
/ 13 июня 2019

В моей базе данных есть 2 таблицы.Первая таблица (t1) содержит общую информацию (идентификатор, адрес и т. Д.).Вторая таблица (t2) содержит измерения (id, метка времени, значение измерения).

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

Чтобы проиллюстрировать это, я создал t1 и t2 и запустил следующее:

SELECT          t2.val, t2.id, t2.ts, t1.address 
FROM            t2 
INNER JOIN      t1  
   ON           t1.id = t2.id
GROUP BY        t2.id
ORDER BY        t2.ts desc;

В результате я НЕ получаю последние записи в списке.Например, я получаю следующее (не самое последнее):

Result from the above query

Последние записи, хранящиеся в базе данных, находятся через месяц.Как получить по Id последнюю запись при использовании JOIN для получения адреса из t1?

Спасибо

1 Ответ

2 голосов
/ 13 июня 2019

попробуйте найти большее время, если вы не можете, у вас есть самое позднее время

SELECT          t2.val, t2.id, t2.ts, t1.address 
FROM            t2 
INNER JOIN      t1  
   ON           t1.id = t2.id
LEFT JOIN       t2 as times
   ON           t2.ts < times.ts
  AND           t2.id = times.id
WHERE times.ts is NULL
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...