![](/img/trans.png)
[英]How to create MYSQL query to get specific results (count all unique values from one column)
[英]How can I count array values from mysql query in PHP and associate a second column with the count results
我想做的是從表中選擇*,然后獲取一列中重復行的計數,但還要將另一列(make)與結果關聯。
例如:
使 模型 數量
福特福克斯3
福特嘉年華5
福特蒙迪歐1
寶馬M3 1
奧迪A4 2
奧迪A3 4
型號 數量
重點3
嘉年華5
蒙迪歐1
M3 1
A4 2
A3 4
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
$modelArray = [];
foreach ($rows as $row) {
$modelArray[] = $row['model'];
}
$result = array_count_values($modelArray);
foreach ($result as $model=>$qty) {
echo $model." ".$qty;
}
我不知道如何使用array_count_values()函數在結果中也包括“ make”列。
我認為我可能會以錯誤的方式進行操作,因為這似乎是一項相當常見的任務,但是我找不到有關如何執行此操作的任何信息。
任何幫助將不勝感激謝謝。
嘗試這個
<?php
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
$modelArray = [];
$makes = []
foreach ($rows as $row) {
$modelArray[] = $row['model'];
$makes[$row['model']]=$row['make'];
}
$result = array_count_values($modelArray);
foreach ($result as $model=>$qty) {
echo $makes[$model]." ".$model." ".$qty;
}
?>
我邀請您嘗試執行的操作是GROUP BY
語句。 這里
我為您提供的當前查詢是SELECT make, model FROM table
。
然后,您可以使用array_count_values
計算重復數據。 我認為您需要使用GROUP BY語句更改查詢。
SELECT make, model, COUNT(1) AS qty FROM table GROUP BY make, model
使用該查詢,您可以使用此代碼回顯結果。
foreach ($rows as $row) {
echo $row['make'] . " " . $row['model'] . " " . $row['qty'];
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.