2016-11-05 28 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