在php中计算AFTER sql查询的值实例数

时间:2013-03-14 23:20:52

标签: php sql-server

我一直在研究这个问题。 我查询数据库以获取以下信息。

然后我想计算值(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) );
}

1 个答案:

答案 0 :(得分: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来实现这一点......比如..

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