Итак, запрос я пытаюсь сделать вид, как это прямо сейчас:MySQL Выберите даты в прошлом: Проблема с MAX и GROUP BY
SELECT `jid`, MAX(`start`) as `start` FROM `dates` WHERE `start` < NOW() GROUP BY `jid`
dates
В таблице в основном содержит значение start
DATETIME, связанное с работа.
Как вы, наверное, догадались, jid
- это идентификатор задания, хранящегося в другой таблице.
Задание может иметь много dates
То, что я пытаюсь выполнить, чтобы выяснить, какие рабочие места имеют все свои start
даты в прошлом.
Моя мысль заключалась в том, чтобы выбрать самые высокие значения дат start
, сгруппированных по jid
, и если бы они были в прошлом, это означало бы, что все другие даты, связанные с одной и той же работой, также в прошлом.
Этот запрос не работает, потому что он проверяет даты в start
в прошлом и затем выбирает самые высокие из них. Это не исключает возможности другой даты для той же работы, лежащей в будущем.
Я понятия не имею, как я мог идти дальше. Любая помощь или подсказка оцениваются.
Приветствия - Том
спасибо, еще один вопрос, почему вы говорите, надеюсь, у меня есть даты в будущем в моей таблице? – TomWilde
В противном случае это ничего не вернет (если у вас есть даты в прошлом) –