您好我想保存一个来自MySQL数据库的行,其中“count('row1'')AS sum”但在我的数组中我只有空字段!
数据库查询:
"SELECT id, value, COUNT('value') AS sum FROM answer_user GROUP BY id,value"
php代码:
$result = mysql_query($query) or die(mysql_error());
while($data= mysql_fetch_assoc($result)) {
echo"<b>{$data['id']}#{$data['value']}#{$data['sum']}#<br>";
}
但$ data [sum]只是空的,里面没有数字。
一个小而小的烦恼是,我不能通过id降序并在我的查询中升值,就像我的查询中的值下降一样phpMyAdmin说:
id value sum
1 0 1
1 1 3
1 2 1
1 6 1
2 2 4
2 5 1
2 6 1
3 2 1
3 3 4
3 6 1
我的主要目标是将它存储在一个二维数组中,如$ data [id] [value] =“[sum]”
如果我回复“$ data [1] [1]”;结果应该是简单的3
的var_dump($数据)
array(3){[“id”] =&gt; string(1)“1”[“value”] =&gt; string(1)“0”[“sum”] =&gt; string(1)“1”} array(3){[“id”] =&gt; string(1)“1”[“value”] =&gt; string(1)“1”[“sum”] =&gt; string(1)“3”} array(3){[“id”] =&gt; string(1)“1”[“value”] =&gt; string(1)“2”[“sum”] =&gt; string(1)“1”} array(3){[“id”] =&gt; string(1)“1”[“value”] =&gt; string(1)“6”[“sum”] =&gt; string(1)“1”} array(3){[“id”] =&gt; string(1)“2”[“value”] =&gt; string(1)“2”[“sum”] =&gt; string(1)“4”} array(3){[“id”] =&gt; string(1)“2”[“value”] =&gt; string(1)“5”[“sum”] =&gt; string(1)“1”} array(3){[“id”] =&gt; string(1)“2”[“value”] =&gt; string(1)“6”[“sum”] =&gt; string(1)“1”} array(3){[“id”] =&gt; string(1)“3”[“value”] =&gt; string(1)“2”[“sum”] =&gt; string(1)“1”} array(3){[“id”] =&gt; string(1)“3”[“value”] =&gt; string(1)“3”[“sum”] =&gt; string(1)“4”} array(3){[“id”] =&gt; string(1)“3”[“value”] =&gt; string(1)“6”[“sum”] =&gt; string(1)“1”} array(3){[“id”] =&gt; string(1)“4”[“value”] =&gt; string(1)“2”[“sum”] =&gt; string(1)“2”} array(3){[“id”] =&gt; string(1)“4”[“value”] =&gt; string(1)“4”[“sum”] =&gt; string(1)“4”}
答案 0 :(得分:1)
您的查询中的问题是您将总数作为计数('值')。 Mysql正在以字符串形式获取值,你应该像这样使用它。
SELECT id, value, COUNT(value) AS sum FROM answer_user GROUP BY id,value
按
添加订单SELECT id, value, COUNT(value) AS sum FROM answer_user GROUP BY id,value order by id asc , value asc
它带来了完美的结果。 order by将首先使用id对每个idwith值进行排序。并且您在此处显示的结果不显示总和中返回任何0。
答案 1 :(得分:0)
你是说这个?
while($data= mysql_fetch_assoc($result)) {
$array[$data['id']][$data['value']] = $data['sum'];
}
答案 2 :(得分:-2)
尝试{&amp;以及&#39;围绕数组周围的键,如编辑