Antonchik
@Antonchik
Программирую на HTML

Как написать условие?

Здравствуйте. Есть вот такая таблица id | no_unique_id | date id - это уникальный автоинкремент, no_unique_id - это не уникальное поле, то есть могут быть записи с несколькими одинаковыми no_unique_id, а date это обычный timestamp с какой-то датой. Мне нужно получить все записи, при условии что date последней записи этого no_unique_id меньше 10 минут от текущей даты, но если нету такой записи, не выводить вообще данные этого no_unique_id.

Пример
NOW() = 2017-11-02 20:20:00 // Текущая дата
Таблица:
id | no_unique_id | date
1  | 111          | 2017-11-02 20:08:00
2  | 111          | 2017-11-02 20:15:00
1  | 222          | 2017-11-02 20:03:00
1  | 222          | 2017-11-02 20:07:00

Желаемый результат:
id | no_unique_id | date
1  | 222          | 2017-11-02 20:03:00
1  | 222          | 2017-11-02 20:07:00
  • Вопрос задан
  • 181 просмотр
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Сначала выбираете все no_unique_id, соответствующие условию (GROUP BY, HAVING), затем к выборке JOIN'ите исходную таблицу по no_unique_id.
Или через WHERE no_unique_id IN (SELECT ...)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Stalker_RED
@Stalker_RED
SELECT * FROM my_table
    WHERE date >= date_sub(now(), INTERVAL 10 MINUTE)
    AND no_unique_id = 222
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы