我有這樣的MySQL表:PHP MySQL的選擇陣列並檢查是否存在的價值
在哪裏我想每個平臺的計數(在Windows,Linux,MAC,未知)。
請注意,在表中沒有mac
或unknown
數據,有沒有NUM將0
條件:
- 順序必須像通緝輸出
- 檢查者平臺是在表如果不加零則輸出
問題:如何在查詢中進行排序以獲得想要的輸出中的命令,並且如果表中沒有平臺,則添加零?
通緝輸出:
array (
'0' => array('name' => 'windows', 'num' => 3),
'1' => array('name' => 'linux', 'num' => 3),
'2' => array('name' => 'mac', 'num' => 0),
'3' => array('name' => 'unknown', 'num' => 0)
);
我嘗試:
PHP:
function get_platforms() {
$query = "
SELECT platform, COUNT(platform) AS num
FROM stats
GROUP BY platform
ORDER BY platform ASC
";
$select = mysqli_query($this->c, $query);
while ($row = mysqli_fetch_array($select)) {
$data[] = array(
'name' => $row['platform'],
'num' => $row['num']
);
}
return $data;
}
當前outpup:
array (
'0' => array ('name' => 'linux', 'num' => 3)
'1' => array ('name' => 'windows', 'num' => 3)
);
是否有任何表或陣列'Platforms'的預定義列表? – Rikesh
@Rikesh我在php函數中收集數據的數組。陣列是:[windows,linux,mac,unknown] –