Php/MYSQl是否输出数组每个值的第一个和最后一个查询结果?
我正在寻找一个php示例,介绍如何为数组的每个值输出查询的第一个值和最后一个值。我可能看得太多了。但这里是我的示例Php/MYSQl是否输出数组每个值的第一个和最后一个查询结果?,php,mysql,arrays,Php,Mysql,Arrays,我正在寻找一个php示例,介绍如何为数组的每个值输出查询的第一个值和最后一个值。我可能看得太多了。但这里是我的示例 $userId = $_SESSION['userId']; $sourceID = $_POST['sourceID']; ProcessDate= $_POST['processDate']; $result = $conn->query("SELECT location_id FROM inventory where source_date = '$sourceID'
$userId = $_SESSION['userId'];
$sourceID = $_POST['sourceID'];
ProcessDate= $_POST['processDate'];
$result = $conn->query("SELECT location_id FROM inventory
where source_date = '$sourceID' and source_id = '$sourceID' and created_by= '$userId'");
while($row = $result->fetch_assoc()) {
$location_id[$x] = $row['location_id'];
$x++;
}
我想获取$location\u id的每个值并运行查询
$resultF = $conn->query("Select sku from inventory where location_id="$location_id" Order by sku ASC ");
while($row = $resultF->fetch_assoc()) {
$firstsku= $row['sku']; }
$resultL = $conn->query("Select sku from inventory where location_id="$id" Order by sku DSC ");
while($row = $resultL->fetch_assoc()) {
$lastsku= $row['sku'];}
输出将是$firstsku、$lastsku、每个位置id的位置id,因为您使用的是
按sku排序
,我推断它确实拥有一个很好的“可排序”值,因此可以在一个简化的查询中结合使用和函数来完成:
SELECT location_id, MAX(sku) AS lastsku, MIN(sku) AS firstsku
FROM inventory
WHERE source_date = '$sourceID'
AND source_id = '$sourceID'
AND created_by= '$userId'
GROUP BY location_id
为什么不在1个查询中合并(2个选择与具有max和min的并集)?是的,这里有1+2n个查询。你可以只需要1个。这将是数量级的速度。每次我尝试,我得到一个错误的消息,也许我写的错误听起来像一个明显的可能性有一个逗号在错误的地方,但下面的代码工作完美完美的工作完美的感谢(只是一个头部为未来的用户你有一个额外的报价后userId..再次感谢我将在几分钟内投票