(Извините, если заголовок не так понятен).Проверить существующие строки для предсказания в одном запросе MYSQL
У меня есть таблица вроде этого (гораздо более сложный, но достаточно, чтобы объяснить, я думаю):
id name hour was_here
1 John 1 0
2 John 2 1
3 John 3 1
4 Mel 1 1
5 Mel 2 1
6 Mel 3 0
7 Smith 1 1
8 Elton 2 0
Пусть говорят, что я теперь в час = 4, и я хотел бы знать, кто должен быть здесь.
Объяснение
Джон был здесь ОНТ здесь форты Jour, но был здесь 2 часа следующая -> мы можем предположить, что он здесь.
Mel был здесь первые два часа, но не третий. Поскольку это последний час до час = 4, мы можем предположить, что ее здесь не будет.
Смит был здесь первый час, но мы не знаем в течение следующих двух часов -> мы можем предположить, что он здесь.
Элтон не был здесь вторым часом -> поскольку это единственная информация, которую мы имеем, мы можем предположить, что его здесь не будет.
Что я делаю на самом деле
На самом деле, то, что я делаю, проверяя каждое имя, используя запрос, как это:
SELECT was_here FROM table WHERE name='$name' AND hour<4 ORDER BY hour DESC
И извлечь первый результат строки.
Наконец вопрос
Мой вопрос ... я могу иметь это в один запросов MySQL? Это должно дать мне имя человека, который был в последний раз обнаружен не здесь и какой час было.
Результат:
# -----------------
# name | hour
# -----------------
# Mel | 3
# Elton | 0
# -----------------
Просто нашел ошибку:. * Джон был здесь 3 часа раньше -> мы можем предположить, что он здесь * должен быть * Джон не был здесь первый час, но здесь два следующих часа -> мы можем предположить, он здесь. * –