我知道这很容易做到,但是我还没有正确的方法来做.我找到了Here,但与我需要的有所不同,并且没有做出积极的贡献.有人帮忙.
我有这样的桌子
name |status
-------------
mike |yes
mike |yes
mike |no
mike |ney
john |no
john |ney
john |yes
我想输出这样的东西
name |status |total
------------------------------
mike |yes-2,no-1,ney-1 | 4
john |yes-1,no-1,ney-1 | 3
我尝试像这样使用GROUP_CONCAT
result = mysql_query("SELECT name, GROUP_CONCAT(DISTINCT status) AS status
FROM table GROUP BY name ");
while($row = mysql_fetch_array($result)){
$st[] = $row['status'];
$status=explode(",",$row['status']);
$total = count($status);
echo $row['name']."|".$row['status']."|".$total."
"; }
我想获取每个不同的$row [‘status’]的数量,如果可能的话,一种获取$total的更好方法.
编辑1
name | yes | no | ney | total
------------------------------
mike |2 |1 |1 | 4
john |1 |1 |1 | 3
第二个输出已实现Here