У меня есть 2 таблицы, я использую внутреннее соединение для их запроса.
SELECT COUNT(table2.id)
FROM table2
INNER JOIN table1 ON table2.relazioneid = table1.id
WHERE table1.date > ? AND table1.date < ?
Подсчитывает идентификаторы записей в отчетах между 2 датами. Таблица 1 содержит информацию об отчетах (дата, groupid и т. Д.), Таблица 2 содержит записи в отчетах.
Я бы хотел сделать запрос почти таким же, за исключением того, что он выбирает только идентификаторы из отчета с самой последней датой, между этими двумя датами.
Кто-нибудь может помочь? Я не могу полностью разобраться с запросами типа MAX (date) - все, что я получаю, - это счетчик каждого идентификатора и максимальной даты, а не только идентификаторы из максимальной даты.
Спасибо
Я думал, возможно, вложенный SQL-запрос - вы можете сделать это? Я могу найти ссылки в Google, но не могу заставить его работать ... Что-то похожее на:
SELECT COUNT(table2.id)
FROM table2
INNER JOIN table1 ON table2.relazioneid = table1.id
WHERE table1.date > ? AND table1.date < ? AND
(
SELECT MAX(date)
FROM table1
WHERE date > ? AND date < ?
)
Не могу заставить это работать, и когда я пытаюсь протестировать его в phpMyAdmin, он вылетает с ошибкой, сообщающей, что у моего пользователя нет привилегий SELECT. Странно, так как это тестовый сервер, я вошел в систему как root.