2016-11-05 49 views
-1

我的mysql結構是這樣如何獲取在PDO同值的數量,PHP

ID color user 
1 red  A 
2 red  B 
3 green C 
4 red  D 
5 white C 

等;

首先,我需要得到相同的數值。例如我應該計算(看看db結構)3紅色(有3次紅色),1爲綠色,1爲白色。

然後,我需要獲得最高計算出的數字(應該是3分貝,因爲有3次紅色的,其他都是1)

我的數據庫連接是

$user = 'root'; 
$pass = ''; 

try { 
    $db = new PDO('mysql:host=localhost;dbname=colors', $user, $pass); 
    $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
    $query = "SELECT * FROM user_color ORDER BY ID"; 
    $get = $db->prepare($query); 
    $get->execute(); 

    foreach ($get->fetchAll(PDO::FETCH_ASSOC) as $row) { 

     No idea ... 

    } 


} catch (PDOException $e) { 
    print "Error!: " . $e->getMessage() . "<br/>"; 
    die(); 
} 

我不我不知道我該怎麼做。我會等待答案,謝謝你的閱讀。

+1

中值相同:使用'WHERE'條款。最高值:使用'MAX()'與'COUNT()'結合使用。 –

回答

2

使用group byorder bylimit

select count(*) 
from user_color 
group by color 
order by count(*) desc 
limit 1; 
+0

我沒有想過sql方面:)謝謝! – u238