我在phpmyadmin中有一个简单的表,名为name,只有1列id,如下所示
id
--------
a
b
a
a
a
a
b现在,我想在PHP页面上显示大多数使用过的id。这是我的代码:
$sql_a = mysql_query(SELECT id FROM name WHERE id='a');
$count_a = mysql_num_rows($sql_a);
$sql_b = mysql_query(SELECT id FROM name WHERE id='b');
$count_b = mysql_num_rows($sql_b);
if($count_a > $count_b)
{
$most_used_id = "A";
}
else
{
$most_used_id = "B";
}
echo "<h1>MOST USED ID IS $most_used_id</h1>";目前我只有两种类型的id,但是在将来我会有倍数(可能是300+) id,那么是否有一种方法可以使查询动态,并且只获得最常用的值?
发布于 2016-08-31 21:26:55
这是非常多余的代码。你最好和他在一起
SELECT id, count(id) AS cnt
FROM name
ORDER BY cnt DESC
GROUP BY id
LIMIT 1这将给出“最受欢迎”的id值,以及它有多受欢迎。如果需要获取所有ids的计数,则删除limit行。
发布于 2016-08-31 21:38:52
尝试以下查询:
select id, count(id) cnt
from name
group by id
order by cnt desc
limit 1https://stackoverflow.com/questions/39259238
复制相似问题