Я пытаюсь выбрать максимальные временные записи из таблицы 1 на основе некоторых данных из таблицы 2. Я получаю правильные записи, основываясь на тех ограничениях, которые я поставил на запрос, но я все равно получаю повторяющиеся записи, а не максимальные записи с отметками времени. Любые идеи о том, что не так с запросом?Ошибка при выборе max строк по дате
В основном ID 901413368 имеет доступ к определенным типам уровней, и я пытаюсь выяснить, какие максимальные датированные запросы были отправлены для того же человека для типов уровней, которыми управляет человек.
SELECT
MAX(timestamp) AS maxtime, Leveltype, assign_ID
FROM
WHERE
(leveltype IN
(SELECT leveltype FROM dbo.idleveltypes WHERE (id = 901413368)))
GROUP BY timestamp, assign_ID, leveltype
HAVING (assign_ID = '901413368')
UPDATE: Этот вопрос был решен ответ WEI_DBA в поле ниже:
Remove the timestamp column from your Group By. Also put the assign_ID in the Where Clause and remove the Having clause
Пример данных и желаемых результатов действительно поможет передать то, что вы хотите сделать (лучше, чем нерабочий запрос, по сути). –
Можете ли вы добавить ожидаемый результат и фактический результат и версию сервера, а также – TheGameiswar
Удалите столбец «timestamp» из вашей группы. Также поместите 'assign_ID' в предложение Where и удалите предложение Have. –