我有一个包含多个订单的表,当更新订单状态时,它会创建一个新记录,因此由于状态不同,1 个订单可能有多个记录。
我有一个管理面板,管理员显然可以在其中看到所有订单,但我不想显示每条记录的每个更新,因为这很容易失控。所以我想拥有每个订单的最新记录。因此,如果订单号 100 有 7 条记录,我想显示订单号 100 的最新更新。我希望每个订单都是这样。
我在网上阅读了一些内容并尝试了解 MySQL Group By 因为我相信这是实现我想要的最佳方式,但我似乎无法使其正常工作我不断收到一条消息说有错误用我的 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
我应该提供我的列结构。所以我有一个 ID 列、一个订单号列、一个订单状态列,最后是一个订单日期列。所以我确定最新状态的方法是获取订单日期(设置为时间戳)。
编辑 我想实现我在问题中提出的问题,但它在一个循环中。我循环遍历并将其全部显示在表格中,因此可能有 100 个不同的订单,这意味着 100 个不同的订单号,但我只想显示我可以使用“订单日期”列确定的每个订单的最新状态。另外我使用 PHP 来构建/执行查询
海绵宝宝撒
慕容3067478
慕的地8271018