我的mysql结构就像
ID color user
1 red A
2 red B
3 green C
4 red D
5 white C
等等;
首先,我需要获得多个SAME值。例如,我应该计算(看看数据库结构)3为红色(有3次红色),1为绿色,1为白色。
然后我需要得到最高的计算数字(db应该是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();
}
我不知道如何做到这一点。我将等待答案,谢谢你的阅读。
答案 0 :(得分:2)
使用group by
和order by
以及limit
:
select count(*)
from user_color
group by color
order by count(*) desc
limit 1;