мы имеем таблицу в следующем, который содержит статус заказа:Выберите максимум групп
history
---------------------------------
order_id status date
25 1 2014-10-01
25 3 2014-10-02
26 1 2014-10-01
27 2 2014-10-01
26 4 2014-10-03
мне нужно выбрать ORDER_ID столбцов с определенным статусом, но он должен быть последним статус. Это возможно с группой по специальности:
SELECT status, order_id, MAX(date)
FROM history GROUP BY order_id HAVING status = 4 OR status = 2
Но это не подходит для меня, потому что я только хочу ORDER_ID, потому что это является частью подзапроса (SELECT ... WHERE order_id IN ([ выше запроса])). Однако MySQL этого не позволяет. Есть ли альтернативный способ решить эту проблему?
насчет 'GROUP BY (состояние)' и использовать 'WHERE' вместо' HAVING' – diEcho
недавно один будет иметь большее автоматическое приращение столбец ID, вы может пойти с этой логикой – diEcho
Учитывая, что этот вопрос задан и (правильно) ответил КАЖДЫЙ. ОДИН. ДЕНЬ. в SO я нахожу это немного удручающим, что а) его нужно еще раз спросить, и б), что многие респонденты могут дать неверные ответы. Я чувствую, что есть возможности улучшить механику SO в этом отношении. – Strawberry