mySQL count(*)含义数组

时间:2016-03-04 07:53:22

标签: mysql sql

在数据库中,我有一个表tca,其中包含status列。这可以是new, process, completed等。 当我使用SELECT status, count(*) FROM tca GROUP BY status查询此表以查找某个状态的计数时,我会回到多维数组

Array
(
    [0] => Array
        (
            [status] => new
            [0] => new
            [count(*)] => 6
            [1] => 6
        )

    [1] => Array
        (
            [status] => process
            [0] => process
            [count(*)] => 1
            [1] => 1
        )

    [2] => Array
        (
            [status] => completed
            [0] => completed
            [count(*)] => 1
            [1] => 1
        )

)

为什么有多余的子阵列[status][0][count(*)][1]

4 个答案:

答案 0 :(得分:0)

由于您选择了'status'和'count(*)',因此这些键存在于结果数组中。 同样的结果是结果数组的数字索引。

答案 1 :(得分:0)

希望这可以解决您的问题。

Use mysqli_fetch_assoc($dbcon,$countQuery); 
//$dbcon = your db connection variable   // $countQuery = your query

答案 2 :(得分:0)

并非在PHP 5.5 +中弃用了mysql扩展名。

这是mysql_fetch_array

的默认行为
  
    

通过使用 MYSQL_BOTH (默认),您将获得一个包含关联索引和数字索引的数组。使用 MYSQL_ASSOC ,您只能获得关联索引(因为mysql_fetch_assoc()有效),使用 MYSQL_NUM ,您只能获得数字索引(因为mysql_fetch_row()有效)。

  

要仅获取关联数组,对于mysql 已弃用的扩展名,请使用以下任一项:

mysql_fetch_array($queryResult, MYSQL_ASSOC)
mysql_fetch_assoc($queryResult);

mysqli

mysqli_fetch_array($queryResult, MYSQLI_ASSOC);
mysqli_fetch_assoc($queryResult);

// This will return all rows returned by query, while the other return only one row
mysqli_fetch_all($queryResult, MYSQLI_ASSOC);

* $queryResultmysql_query()mysqli_query()

的回报

答案 3 :(得分:-1)

这是因为你有三个状态:new,process,completed。 您的SQL将计算每个状态包含多少条记录。

[0]意味着第一列。它等于[" status"] [1]是指第二列。它等于[" count(*)"]。