User saleType
+-------+-------+------+
| Jeff | Sale_Closed |
+-------+-------+------+
| Jeff | Sale_null |
+-------+-------+------+
| Sean | sale_closed |
+-------+-------+------+
| Jeff | sale_closed |
+-------+-------+------+
| Sean | sale_closed |
+-------+-------+------+
| Mark | Sale_null |
+-------+-------+------+
| Mark | sale_closed |
+-------+-------+------+
| Josh | sale_closed |
+-------+-------+------+
| Josh | sale_closed |
+-------+-------+------+
我正在尝试为每个用户计算每个saleType ..换句话说.. Jeff有2个“sale_closed”和1个“sale_null。”Mark有1个“sale_closed”和1个“sale_null”,依此类推......
并将其存储到数组..(Json)就像这样。:
{"jeff":{"sale_closed":2,"sale_null":1},"sean":{"sale_closed":2},"Mark":{"sale_closed":1, "sale_null":1},"Josh":{"sale_closed":2}
好的,所以这是我的尝试:
<?php
// assuming database connection has already been established..
$result = mysql_query("SELECT DISTINCT `USER' FROM `sales_records`");
while($row = mysql_fetch_assoc($result)) {
$user_array[] = $row['User'];
}
foreach ($user_array as $user) {
$json_array[$user] = mysql_query("SELECT saleType FROM sales_records WHERE user='$user'");
while ($row = mysql_fetch_array($json_array[$user])) { // AND HERE IS WHERE i GET STUCK!!!
$json_array[$user][$username][] = $row['saleType']; // I DON'T KNOW WHERE TO GO FROM HERE...
}
} // AM I APPROACHING THIS CORRECTLY?..
//...
// Once I have all the 'saleType's for each user, maybe I could use:
array_count_values()... or something.
?>
答案 0 :(得分:5)
您可以在一个查询中获得所需的所有数据:
SELECT user, saleType, count(*) totalSales FROM sales_record
GROUP BY user, saleType
这将返回3列中的所有结果,这些列应该很容易变成JSon。