如何在php中知道何时读取的SQL共享相同的ID,以及何时开始一组新的ID

问题描述 投票:1回答:2

大家好,我有一个存储过程,在该过程中,我返回给定一周内下达的所有订单的列表。但是,我目前显示了按每个订单的SaleID分组的所有订单。换句话说,当我运行存储过程时,我将所有订单和所有购买分组在一起。喜欢

    SaleID  Name   Item         Qty
    5020021 John   Blue Cheese  1
    5020021 John   Bread        1
    5020256 Carol  Milk         1
    5020256 Carol  Box of eggs  1
    5020256 Carol  Oat Milk     1

在php中,我将所有这些订单显示为列表格式,但是我想知道新订单的开始和结束时间。不知道这是否可行,我已经看过网上了,但还没有找到任何东西。

php
2个回答
2
投票

当将最后一个if()保存到变量中时,可以通过简单的SaleId检查来完成此操作。这样,您可以将当前SaleId与上一个进行比较。代码可能看起来像这样:

$lastSaleId = null;
while ($row = /* ... */) {
    if ($lastSaleId != $row['SaleId']) {
        // new sale
        echo "Sale ".$row['SaleId']." by ".$row['Name']."<br />";
    }
    echo "* ".$row['Qty']."x ".$row['Item']"<br />";
    $lastSaleId = $row['SaleId'];
}

0
投票

您可以为此使用GROUP BY

SELECT SaleID FROM table GROUP BY SaleID ORDER BY SaleID DESC
© www.soinside.com 2019 - 2024. All rights reserved.