У меня есть таблица проекта и таблица задач. Я хочу получить список проектов, а затем для каждого проекта отобразить задачу с последней функцией due_date.Получить последнюю запись mysql
Приведенный ниже код работает для отображения проектов и будет извлекать одну задачу, но, похоже, эта задача не будет получать задание с последним параметром due_date и вместо этого, как представляется, возвращает задачу с наименьшим id-ключом. Если я разрешаю более одной задачи показать результаты, упорядоченные по умолчанию, но я хочу ограничить их.
SELECT t.*, p.id as project_id, p.name as project_name, p.archive as project_archive
FROM project p
JOIN user_project up ON p.id = up.project AND up.user = '.$user.'
LEFT JOIN (SELECT tmp.* FROM
(SELECT *, IF(@prev <> project_id, @rownum := 1, @rownum := @rownum+1) AS rank, @prev := project_id
FROM task t
JOIN (SELECT @rownum := NULL, @prev := 0) AS r
WHERE user_id = '.$user.'
ORDER BY t.project_id) AS tmp
WHERE tmp.rank <= 1) AS t ON p.id = t.project_id
ORDER BY p.id asc, t.due_date desc
Это та же проблема, что все еще иметь. Почему бы не увидеть, как они это решили? – Strawberry
Под «последним» вы подразумеваете «максимальный срок для каждого проекта»? – Barranka
HI Barranka да, максимум, что я хочу. Его держали как формат даты в таблице – EnduroDave