我的看法: $query="select * from tablename"; $result=mysql_query($query,$link); $row=mysql_num_rows($result); $query1="select * from tablename where username='赵一'"; for ($i=0;$i<=总共的数目;$i++) { $result.$i=mysql_query($query.$i); $row.$i=mysql_num_row($result.$i); $rate.$i=$row.$i/$row; echo $rate.$i."<br>"; }浅妄薄见,望与斟酌
mysql目前不支持子查询,在一句SQL中无法实现。据说会在4.X版本中支持子查询。
低版本的MYSQL不支持子查询,所以不能一句实现
返回百分数先不行,但返回数量可以这样: select field1,count(*) from tablename group by field1 order by 2 desc
Shakespeare(网络骑士): $query1="select * from tablename where username='赵一'"; 我的意思是在查询之前不知道那个username出现的记录多,而是要查记录最多的几个username,而且这个记录数还不确定,几条sql语句也可以,那位大虾给指条明路?
没有经过测试,如果执行通不过,就算给一个思路吧。 $query="select field1,count(*) from tablename group by field1 order by 2 desc"; $result=mysql_query($query,$link); $total=mysql_num_rows($result); while ($row=mysql_fetch_row($result)){ $test = sprintf ("%01.2f", (row[1]/$total)); echo row[0]." ".$test."%<br>"; }
有个mysql的select语句,整整写了两页长,可不是单的and or not之类哟。呵呵。我看倒CPU都大了。
$query="select * from tablename";
$result=mysql_query($query,$link);
$row=mysql_num_rows($result);
$query1="select * from tablename where username='赵一'";
for ($i=0;$i<=总共的数目;$i++)
{
$result.$i=mysql_query($query.$i);
$row.$i=mysql_num_row($result.$i);
$rate.$i=$row.$i/$row;
echo $rate.$i."<br>";
}浅妄薄见,望与斟酌
select field1,count(*) from tablename group by field1 order by 2 desc
$query1="select * from tablename where username='赵一'";
我的意思是在查询之前不知道那个username出现的记录多,而是要查记录最多的几个username,而且这个记录数还不确定,几条sql语句也可以,那位大虾给指条明路?
$query="select field1,count(*) from tablename group by field1 order by 2 desc";
$result=mysql_query($query,$link);
$total=mysql_num_rows($result);
while ($row=mysql_fetch_row($result)){
$test = sprintf ("%01.2f", (row[1]/$total));
echo row[0]." ".$test."%<br>";
}