Я добавляю людей, которые живут в доме в базу данных. Кто-то въезжает в дом 1 1 августа, кто-то переезжает в дом 4 5 августа, и кто-то снова отправляется в дом 1 10 августа. То, что я хочу показать на странице, - это люди, которые живут в доме, например, 9 августа и 11 августа.Получить последнюю запись (дату) для каждого ID в базе данных MySQL
Пример базы данных:
employee----house-date
1-----------2-----01-01-2012
5-----------7-----01-01-2012
1-----------1-----01-08-2012
3-----------4-----01-01-2012
1-----------8-----01-09-2012
Сначала я попытался
SELECT employee FROM habitants WHERE house='$house' AND date <= '$today' ORDER BY date DESC, employee ASC
Но это показывает один человек в нескольких домах (например, когда работник 1 измененные дома иногда)
Затем я попытался
SELECT employee FROM habitants WHERE house='$house' AND date <= '$today' ORDER BY date DESC, employee ASC LIMIT 1
Но тогда я получаю только один человек на дом
Тогда я нашел что-то на MAX, поэтому я попытался
SELECT employee, MAX(date), house FROM habitants WHERE house='$house' AND date <= '$today' ORDER BY date DESC, employee ASC GROUP BY house
Это привело к следующей ошибке:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'GROUP BY huis' at line 1
Может кто-то показать мне как это сделать правильно? Благодаря!
Благодарим вас за это, отлично работает. Однако теперь я вижу, что сотрудник 8, который перешел из дома 3 в дом 0 (без дома), все еще появляется сегодня. Выполнить из базы данных для сотрудника 8 'сотрудник ---- дачи на дому 8 ----------- 0 ----- 2015-05-01 8 ------- ---- 3 ----- 2015-08-07 8 ----------- 0 ----- 2015-08-11' – William
Работает как очарование. Спасибо! – William