У меня есть таблица с несколькими заказами, при обновлении статуса заказа создаются новые записи, поэтому в 1 заказе может быть несколько записей из-за разного статуса.
У меня есть панель администратора, где администратор может видеть все заказы, но я не хочу отображать каждое обновление для каждой записи, потому что это может легко выйти из-под контроля. Поэтому я бы хотел иметь самую последнюю запись для каждого заказа. Поэтому, если у меня есть 7 записей для заказа № 100, я хочу показать самое последнее обновление для заказа № 100. Я хочу, чтобы каждый заказ был таким.
Я немного прочитал в Интернете и попытался узнать о MySQL Group. Поскольку я считаю, что это лучший способ достичь того, чего я хочу, но, похоже, я не могу заставить его работать, я продолжаю получать там сообщение, в котором говорится ошибка с моим оператором SQL
$query = '(SELECT * FROM orders
WHERE `order_status` != "Order Complete"
ORDER BY `order_update` DESC
GROUP BY `order_number`)';
$orderList = $conn->query($query);
Это ошибка, которую я получаю
У вас есть ошибка в вашем синтаксисе SQL; проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы узнать правильный синтаксис для использования рядом с 'GROUP BY order_number
Я должен был предоставить структуру моего столбца. Таким образом, у меня есть столбец идентификатора, столбец номера заказа, столбец состояния заказа и, наконец, столбец даты заказа. Таким образом, я могу определить наиболее актуальный статус, взяв дату заказа (которая установлена как метка времени).
EDIT
Я хочу добиться того, что я поставил в своем вопросе, но это внутри цикла. Я перебираю и отображаю все это внутри таблицы, так что может быть 100 разных заказов, что означает 100 разных номеров заказов, но я хочу отображать только последний статус каждого заказа, который я могу определить с помощью столбца Дата заказа. Также я использую PHP для построения / выполнения запроса