我有这个脚本:
$limit1=10;
$MySQL=mysql_connect($myhost,$myuser,$mypass);
mysql_select_db($sitedb);
$rank = mysql_query('SELECT usrid,num FROM 7stat '.' GROUP BY usrid ORDER BY num desc LIMIT '.$limit1.'');
$i=1;
while ($row = mysql_fetch_array($rank))
{
echo '<tr>
<td align="center">'.$row['usrid'].'</td><br>
<td align="center">'.$row['num'].'</td>
</tr> ';
$i++;
}
基本上应该向我展示前十名冲浪者,但事实并非如此。 在这个页面中可以找到结果: http://123autotraffic.com/12.php
查看最后一张表。
我的用户ID:1
我今天取得了840学分(num),从30000开始,但剧本显示为52。
请帮忙。
CREATE TABLE IF NOT EXISTS `7stat` (
`usrid` int(10) unsigned NOT NULL DEFAULT '0',
`date` date NOT NULL DEFAULT '0000-00-00',
`num` float unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`usrid`,`date`),
KEY `date` (`date`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
我必须使用群组,因为它是每月统计数据 如果未分组,则会多次显示相同的用户ID。
已修复。非常感谢大家。
答案 0 :(得分:2)
更新脚本中的查询:
$rank = mysql_query('SELECT `usrid`, SUM(`num`) AS mysum FROM `7stat`
GROUP BY `usrid` ORDER BY mysum DESC LIMIT '.$limit1);
并替换代码中的所有位置:
$row['num']
使用:
$row['mysum']