У меня есть таблица «batchtracing
» с 8999 строк для batchno
для id 7434. Я хочу DISTINCT batchno
для этой таблицы. Для всех DISTINCT batcho
У меня есть 47 строк. За каждые batchno
я хочу получить MAX (ID), но для каждой строки.Как использовать отдельные и MAX (id) в одном запросе SQL?
Мои вопросы: Как я могу иметь MAX (ID) для каждого DISTINCT batchno
Я стараюсь это, но это не мое решение, это поставило меня для всех строк же значение в колонке ID.
SELECT DISTINCT batchno,
(SELECT MAX(id) AS Expr1
FROM batchtracing) AS id
FROM batchtracing AS batchtracing_1
WHERE (contentid = '7434')
Чтобы получить то, что мне нужно, я использую 3 запроса, но я хочу только один, потому что это медленно. Что мне теперь делать:
Step 1: SELECT DISTINCT batchno, batchstatus FROM batchTracing WHERE (contentid = " & contentid & ") AND (batchstatus = 'active') ORDER BY batchno
Step 2:SELECT MAX(id) AS Expr1 FROM batchTracing WHERE (batchno = '" & batchno & "') AND (contentid = '" & contentid & "')
Step 3: SELECT batchstatus FROM batchtracing WHERE id = batchTracingID
Этот метод очень медленно, и я хочу только один запрос, чтобы привести все это.
Вы думаете, что можете сделать для моего примера? Я не понимаю из этого примера – Vladut
Мне нужен один пример для contentid = '7434') – Vladut
@ Vladut этот запрос получает строку с самым высоким идентификатором для batchno из batchrracing, поэтому вы также можете получить свой статус и т. Д. Просто добавьте 'where contentid = '7434'' в подзапрос. – SqlZim