0

我已经为此工作了一段时间。我查询数据库以获取以下信息。

然后我想计算这些值(Servicepack 3、2 和 1)并将每个计数分配给一个单独的变量。我不希望使用 sql 查询进行单独的 sql 查询或计数。

谢谢

//-----------------------------------------------
// Perform operations with connection.
//-----------------------------------------------

$sql = "SELECT Name, DomainName, OperatingSystem, ServicePack FROM Computers";

$stmt = sqlsrv_query( $conn, $sql );

// Check for 0 results

if( $stmt === false) {
die( print_r( sqlsrv_errors(), true) );
}
4

1 回答 1

0

如果你想用php来计算它,你可以这样做..(在你的代码之后)

$counts = array(
    'Servicepack 3' => 0,
    'Servicepack 2' => 0,
    'Servicepack 1' => 0,
);
while($row = sqlsrv_fetch_array( $stmt, SQLSRV_FETCH_ASSOC)) {
    if (isset($counts[$row['ServicePack']])) {
        ++$counts[$row['ServicePack']];
    }
}

但是你知道你可以用 SQL 和 group by in 来做到这一点......类似......

$sql = "SELECT COUNT(*) AS ServicePackCounts, OperatingSystem, ServicePack FROM Computers GROUP BY OperatingSystem, ServicePack";

于 2013-03-15T00:03:38.517 回答